⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 realdatatest512v2zcl.m

📁 雷达信号处理中脉冲压缩算法的matlab例子程序
💻 M
字号:
clear all;
u3i=load('000cqz.txt');
u3q=load('000ciz.txt');
%plot(abs(u3i+j*u3q))求模
%-----
%信号参数
fs=50e6;         %AD对信号采样率
T=10e-6;         %信号最大时间宽度。
B=24e6;		     %信号带宽
K=B/T;           %调频信号线性增长速度
f0=0;            %初始频率	
Ns=fix(T*fs);    %信号有效的采样点数
t0=1/fs;         %采样周期
Num=250003;        %脉压点数
WordLength=16;   %保存信号位数
%----------------------------------------------------
%     生成时域信号 
%----------------------------------------------------
i=[0:1:Ns-1];
t=(i-fix((Ns-1)/2))*t0;%t=(i)*t0;
phase2=2*pi*(f0*t+K*t.^2/2);
Signal=([exp(j*phase2) zeros(1,Num-Ns)]);

ch_num=1:Ns;
xghamming=0.54-0.46*cos(2*pi*((ch_num-1)/(Ns-1)));
%加预失真时去掉%CjSig=conj(fft((Signal.*[xghamming zeros(1,(Num-Ns))]),Num));
art=[hamming(Ns)' zeros(1,Num-Ns)];
CjSig=conj(fft(Signal.*art,Num));
% % %
%CjSig=conj(fft((Signal.*[hamming(Ns)' zeros(1,(Num-Ns))]),Num));%化为相关的一步
%CjSig=conj(fft((Signal.*art),Num));   %%截断三句之三
CjSig_Widownon=CjSig;%.*hamming(Num)';
%CjSig_Widownon_black=CjSig.*blackman(length(Num))'; 
%此处可以加窗,具体加什么窗可自行决定
%-----------------------------------------------------
%==========================================================================
%先扩Shift_Num倍以保证精度,注意在VHDL中要将所扩部分进行处理
%以下即为所要扩充位数选择的算法
AbsMax=max(abs([real(CjSig_Widownon) imag(CjSig_Widownon)]));
Shift_Num=fix(log2(ceil((2^(WordLength-1))/(AbsMax)))); %补码   
CjSig_Widownon_Aug=CjSig_Widownon.*2^Shift_Num;  %移8位

%------------------------以下计算原信号扩充位数
%这两步是为了尽量扩大精度
Sig_AbsMax=max(abs([real(Signal) imag(Signal)]));
Sig_Shift_Num=fix(log2(ceil((2^(WordLength-1))/(Sig_AbsMax)))); %补码   
Signal_Aug=Signal.*2^Sig_Shift_Num;

%----------------------------



asdfg=u3i+j*u3q;% [zeros(1,100) csi' zeros(1,112)]+j*[zeros(1,100) csq' zeros(1,112)];
%----
zxcv=ifft(fft(asdfg').*(CjSig_Widownon));
x=(abs(zxcv));%%%x=fftshift(abs(ifft(fft(Signal).*(CjSig_Widownon))));
plot(20*log10(eps+x/max(x)))
figure
plot(x)
%-----------------------------
%jmp=4163;
%stepdata=zxcv(2590+jmp*14:jmp:2590+jmp*45);
%figure;plot(abs(ifft(stepdata)))
ng = 4167;%4250;
 ttk = reshape(zxcv(1:ng*58),ng,58);
 figure;plot(abs(ttk))
  ttksig = reshape(u3i(1:ng*58),ng,58);
 figure;plot(abs(ttksig))
 

 
[maxsig,maxindx]=max(abs(ttk));
for ps=1:58
sigpro(ps) = ttk(maxindx(ps),ps);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -