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

📄 rh_matsim2.m

📁 附录 光盘说明 本书附赠的光盘包括各章节实例的设计工程与源码
💻 M
字号:
%------------------------------------------------------------------%
%---         程序名称:Radar正交变换Matlab仿真       ---%
%---         前端不带奇偶抽样。                                  ---%
%---             作者:王旭东                                        ---%
%---             时间:2003年6月25日                          ---%
%---             版本:v0000.01.02                               ---%
%---         版权所有违者必究!                                 ---%
%-----------------------------------------------------------------%
%---------------------- 定义常数 ------------------------------%
f=30;%15e6;
fs=100;%100e6; 
signal_start=10;
signal_end=180;
total_dot=200;
dets=1/fs;
PI=3.1415926;
aa=0.5846832;
bb=0.138025;
Am=1;
%------------------------------------------------------------------%
%------- 频率范围:B/2<--->3*B/2 其中 B=fs/4 -----------%
B=fs/4;
if (f>=B/2)&(f<=3*B/2)
    disp('%--- Start Simulation of Radar_Hilbert ---%');
else
    disp('%- ERROR !: f exceed the required scope! -%');
end;
%-------------------------------------------------------%
%---------------------- 生成噪声 --------------------%
%noise=randn(1,total_dot);       %产生高斯随机噪声。
noise=zeros(1,total_dot);        %不加噪声。
%MaxNoise=max(abs(noise));
%-------------------------------------------------------%
%------------------ 生成仿真信号 -------------------%
for i=1:signal_start-1
    data_in(i)=0;
end;

for i=signal_start:signal_end
    data_in(i)=Am*sin(2*PI*f*(i-signal_start)*dets);
end;
for i=signal_end+1:total_dot
    data_in(i)=0;
end;
%-------------------------------------------------------%
%--------------------- 理论结果 ---------------------%
IQ_real=hilbert(data_in);
I_real=real(IQ_real);
Q_real=imag(IQ_real);
I_reals4_0=zeros(1,total_dot/8);
Q_reals4_0=zeros(1,total_dot/8);
for i=1:4:total_dot/2-3
    I_reals4_0((i+3)/4)=I_real(i);
    Q_reals4_0((i+3)/4)=Q_real(i);
end;
%-------------------------------------------------------%    
%--------------------- 仿真 I 通道 -------------------%
for n=1:total_dot
    if n<=3      %-- 前端不带奇偶抽样。
        if n==1
            I(n)=0;
        end;
        if n==2
            I(n)=-aa*data_in(n-1);
        end;
        if n==3
            I(n)=aa*(I(n-2)-data_in(n-1));
        end;
    else
        I(n)=aa*(I(n-2)-data_in(n-1))+data_in(n-3);
    end;
end;

%Is2_odd=zeros(1,total_dot/4);%-- Is2 odd even --%
%for i=1:2:total_dot/2-1
%    Is2_odd((i+1)/2)=I(i);
%end;
%Is2_even=zeros(1,total_dot/4);
%for i=2:2:total_dot/2
%    Is2_even(i/2)=I(i);
%end;

Is4_0=zeros(1,total_dot/4);%-- Is4 0,1,2,3 --%
for i=1:4:total_dot/2-3
    Is4_0((i+3)/4)=I(i);
end;
%Is4_1=zeros(1,total_dot/8);
%for i=2:4:total_dot/2-2
%    Is4_1((i+2)/4)=I(i);
%end;   
%Is4_2=zeros(1,total_dot/8);
%for i=3:4:total_dot/2-1
%    Is4_2((i+1)/4)=I(i);
%end;
%Is4_3=zeros(1,total_dot/8);
%for i=4:4:total_dot/2
%    Is4_3(i/4)=I(i);
%end;    
%-------------------------------------------------------%
%--------------------- 仿真 Q 通道 -----------------%
for n=1:total_dot
    if n<=2      %-- 前端不带奇偶抽样。
        Q(n)=bb*data_in(n);
    else
        Q(n)=bb*(Q(n-2)+data_in(n))+data_in(n-2);
    end;
end;

%Qs2_odd=zeros(1,total_dot/4);%-- Qs2 odd even --%
%for i=1:2:total_dot/2-1
%    Qs2_odd((i+1)/2)=Q(i);
%end;
%Qs2_even=zeros(1,total_dot/4);
%for i=2:2:total_dot/2
%    Qs2_even(i/2)=Q(i);
%end;

Qs4_0=zeros(1,total_dot/4);%-- Qs4 0,1,2,3 --%
for i=1:4:total_dot/2-3
    Qs4_0((i+3)/4)=Q(i);
end;
%Qs4_1=zeros(1,total_dot/4);
%for i=2:4:total_dot/2-2
%    Qs4_1((i+2)/4)=Q(i);
%end; 
%Qs4_2=zeros(1,total_dot/4);
%for i=3:4:total_dot/2-1
%    Qs4_2((i+1)/4)=Q(i);
%end; 
Qs4_3=zeros(1,total_dot/4);
for i=4:4:total_dot/2
    Qs4_3((i)/4)=Q(i);
end; 
%-------------------------------------------------------%
%-------------------- 图形化输出 -------------------%
figure(1);
plot(data_in);
title '原始输入数据';

n=1:total_dot;
figure(2);
plot(n,I,n,Q);
title '正交变换原始输出';

%i=1:total_dot/4;%Is2,Qs2
%figure(3);
%plot(i,Is2_odd,i,Qs2_odd);
%title '正交变换2采样输出(odd-odd)';

%figure(4);
%plot(i,Is2_odd,i,Qs2_even);
%title '正交变换2采样输出(odd-even)';

%figure(5);
%plot(i,Is2_even,i,Qs2_odd);
%title '正交变换2采样输出(even-odd)';

%figure(6);
%plot(i,Is2_even,i,Qs2_even);
%title '正交变换2采样输出(even-even)';

j=1:total_dot/4;%Is4,Qs4
figure(7);
plot(j,Is4_0,j,Qs4_0);
title '正交变换4采样输出(0-0)';

%figure(8);
%plot(j,Is4_0,j,Qs4_1);
%title '正交变换4采样输出(0-1)';

%figure(9);
%plot(j,Is4_0,j,Qs4_2);
%title '正交变换4采样输出(0-2)';

%figure(10);
%plot(j,Is4_0,j,Qs4_3);
%title '正交变换4采样输出(0-3)';

%figure(11);
%plot(j,Is4_1,j,Qs4_0);
%title '正交变换4采样输出(1-0)';

%figure(12);
%plot(j,Is4_1,j,Qs4_1);
%title '正交变换4采样输出(1-1)';

%figure(13);
%plot(j,Is4_1,j,Qs4_2);
%title '正交变换4采样输出(1-2)';

%figure(14);
%plot(j,Is4_1,j,Qs4_3);
%title '正交变换4采样输出(1-3)';

%figure(15);
%plot(j,Is4_2,j,Qs4_0);
%title '正交变换4采样输出(2-0)';

%figure(16);
%plot(j,Is4_2,j,Qs4_1);
%title '正交变换4采样输出(2-1)';

%figure(17);
%plot(j,Is4_2,j,Qs4_2);
%title '正交变换4采样输出(2-2)';

%figure(18);
%plot(j,Is4_2,j,Qs4_3);
%title '正交变换4采样输出(2-3)';

%figure(19);
%plot(j,Is4_3,j,Qs4_0);
%title '正交变换4采样输出(3-0)';

%figure(20);
%plot(j,Is4_3,j,Qs4_1);
%title '正交变换4采样输出(3-1)';

%figure(21);
%plot(j,Is4_3,j,Qs4_2);
%title '正交变换4采样输出(3-2)';

%figure(22);
%plot(j,Is4_3,j,Qs4_3);
%title '正交变换4采样输出(3-3)';

m=1:total_dot;
figure(23);
plot(m,I_real,m,Q_real);
title '正交变换的理论值';
  
    
    





⌨️ 快捷键说明

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