%%%DSSSclc;clear all;close all;%% 读取文件%DSSS-BPSKfid fopen(DSSS_抽取_Fc0_Fs14000000_D16sc_T20260513165303.dat,r);data fread(fid,int16);s data(1:2:end)1i*data(2:2:end);fclose(fid);Len length(s);Fs 14e6;%% 计算模谱、平方谱估计扩频码码速率x (-Len/2:Len/2-1)/Len*Fs;absf abs(fftshift(fft(abs(s(1:Len)))));figureplot(x,absf)xlabel(频率)title(模谱)s2f abs(fftshift(fft(s(1:Len).^2)));figureplot(x,s2f)xlabel(频率)title(平方谱)%% 通过延迟相关估计扩频码周期Len 100e3;Tn 10e3;for k 1:Tncor(k) mean(s(1:Len-k).*conj(s(k:Len-1)));endt (0:Tn-1);figureplot(t,abs(cor))xlabel(样点)title(延迟相关)%%%%FHclc;clear all;close all;%% 读取文件fid fopen(抽取_Fc0_Fs14000000_D16sc_T20260513165417.dat,r);data fread(fid,int16);s data(1:2:end)1i*data(2:2:end);fclose(fid);Len length(s);Fs 14e6;%% 时频分析nfft 1024;% 不同nfft下的差分检测% nfft 1024;% nfft 2048;step nfft/2;[Ts,F,P] TFCal_cplx1(s(1:Len),nfft,step,Fs);title(原信号时频图)%% 提取频谱峰值位置序列[Tn,Kn] size(P);FIdx [];for n 1:Tn[maxPn,maxKn] max(abs(P(n,:)));FIdx [FIdx maxKn];endfigureplot(Ts,FIdx)title(频谱峰值位置序列)%% 差分检测FIdx_d abs(diff(FIdx));figureplot(Ts(2:end),FIdx_d)title(差分检测)%%%OFDMclc;clear all;close all;%% 1.读取信号样本fid fopen(OFDM_抽取_Fc0_Fs14000000_D16sc_T20260513165349.dat,r);data fread(fid,int16);sig data(1:2:end-1)1i*data(2:2:end);fclose(fid);Fs 14e6;Len length(sig);%% 2.时频分析nfft 9192;step nfft/2;[Ts,F,P] TFCal_cplx(sig(1:Len),nfft,step,Fs);figureimagesc(XData,Ts,YData,F,CData,10*log10(abs(P.)));xlabel(Time(Seconds));ylabel(Hz);axis tighttitle(原信号时频图)%% 3.估计有用符号点数N得到子载波间隔L 20000;M 1000;for m 0:Ma sig(1:L-m);b sig(1m:L);r1(m1) abs(sum(a.*conj(b)))/sum(abs(a).^2abs(b).^2)*2;endfigureplot((0:M),r1);grid on;xlabel(时延样点);title(归一化延时自相关函数)%% 4.估计子载波码元速率N 256;Ng 256;L NNg;for i 1:L*100a sig(i:iNg-1);b sig(iN:iL-1);R(i) mean(a.*conj(b));endfftn length(R);x (-fftn/2:fftn/2-1)/fftn*Fs;figureplot(x,abs(fftshift(fft(R))))grid on;xlabel(循环频率);title(循环自相关函数)%%%PMclc;clear all;close all;%% 读取文件fid fopen(抽取_Fc0_Fs14000000_D16sc_T20260513165324.dat,r);data fread(fid,int16);s data(1:2:end)1i*data(2:2:end);fclose(fid);Len length(s);Fs 14e6;%% 计算模谱、平方谱估计扩频码码速率x (-Len/2:Len/2-1)/Len*Fs;absf abs(fftshift(fft(abs(s(1:Len)))));figureplot(x,absf)xlabel(频率)title(模谱)s2f abs(fftshift(fft(s(1:Len).^2)));figureplot(x,s2f)xlabel(频率)title(平方谱)s4f abs(fftshift(fft(s(1:Len).^4)));figureplot(x,s4f)xlabel(频率)title(4次方谱)s8f abs(fftshift(fft(s(1:Len).^8)));figureplot(x,s8f)xlabel(频率)title(8次方谱)%%TFCal_cplxfunction[Ts,F,P] TFCal_cplx(s,nfft,step,Fs)segmentLength ceil((length(s)-nfft)/step);Tn(1) 1;P zeros(segmentLength,nfft);for n 1:segmentLengthP(n,:) abs(fftshift(fft(s(Tn(n):Tn(n)nfft-1)))).^2;Tn(n1) Tn(n) step;endTs Tn/Fs;F (-nfft/2:nfft/21)/(nfft)*(Fs);figureimagesc(Ts,F,10*log10(abs(P.)));xlabel(Time(Seconds));ylabel(Hz);%%%TFCal_cplx1function[Ts,F,P] TFCal_cplx1(s,nfft,step,Fs)segmentLength ceil((length(s)-nfft)/step);Tn(1) 1;P zeros(segmentLength,nfft);for n 1:segmentLengthP(n,:) abs(fftshift(fft(s(Tn(n):Tn(n)nfft-1)))).^2;Tn(n1) Tn(n) step;endTs Tn(1:end-1)/Fs;F (-nfft/2:nfft/21)/(nfft)*(Fs);figureimagesc(Ts,F,10*log10(abs(P.)));xlabel(Time(Seconds));ylabel(Hz);