实验报告_模拟线性调制系统仿真(11页)

时间:2020-11-19 09:53:41 手机站 来源:网友投稿

实验一:模拟线性调制系统仿真

一、实验目的:

掌握模拟调制系统的调制和解调原理;

理解相干解调。

三、实验内容:

1、编写AM、DSB、SSB调制,并画出时域波形和频谱图。

2、完成DSB调制和相干解调。

四、实验步骤

线性调制

1) 假定调制信号为,载波,=1kHz,=10kHz; 绘制调制信号和载波的时域波形(保存为图1-1)。

2) 进行DSB调制,;进行AM调制,;绘制DSB已调信号和AM已调信号的波形,并与调制信号波形进行对照(保存为图1-2)。

3) 用相移法进行SSB调制,分别得到上边带和下边带信号,,,。

4) 对载波、调制信号、DSB已调信号、AM已调信号和SSB 已调信号进行FFT变换,得到其频谱,并绘制出幅度谱(保存为图1-3)。

DSB信号的解调

用相干解调法对DSB信号进行解调,解调所需相干载波可直接采用调制载波。

将DSB已调信号与相干载波相乘。

设计低通滤波器,将乘法器输出中的高频成分滤除,得到解调信号。

绘制低通滤波器的频率响应(保存为图1-4)。

对乘法器输出和滤波器输出进行FFT变换,得到频谱。

绘制解调输出信号波形;绘制乘法器输出和解调器输出信号幅度谱(保存为图1-5)。

绘制解调载波与发送载波同频但不同相时的解调信号的波形,假定相位偏移分别为 (保存为图1-6).

五、实验思考题

1、与调制信号比较,AM、DSB和SSB的时域波形和频谱有何不同?

答:AM时域波形的上包络其形状与调制信号的波形相同,只是幅度有所增大;而DSB时域波形的上包络则不再与调制信号相同,但幅度却不变。

调制信号的频谱频率相对较低,只有一个冲击,功率较大;AM已调信号频谱集中出现在10kHz附近,有三个冲击,中间一个功率较大,且与调制信号的功率接近,其余两个大约为其一半;DSB已调信号频谱也是集中在10kHz左右,只有两个冲击,以10kHz为对称轴对称分布,功率为调制信号的一半左右;SSB已调信号频谱就是DSB已调信号两个冲击的分解。

2、低通滤波器设计时应考虑哪些因素?

答:本地载波接收信号的载波保证同频同相,且低通滤波器的带宽应略大于DSB信号带宽。

3、采用相干解调时,接收端的本地载波与发送载波同频不同相时,对解调性能有何影响?

答:导致载波失真,不能完好的解调原波形。

六、源程序

%fc=10kHz, fm=1kHz, tp: 10 periods of moulation wave

%fs=10fc

close all;

clear;

fc=10e3; %载波频率

fm=1e3; %调制信号频率

fs=8*fc; %抽样频率

ts=1/fs; %抽样周期

tp=10/fm; %信号持续时间

N=tp*fs; %样值点数

t=0:ts:tp; %抽样时间点

m_sig=cos(2*pi*fm*t); %调制信号

c_sig=cos(2*pi*fc*t); %载波

m_shift_p = sin(2*pi*fm*t); %调制信号的90度相移

c_q_sig = sin(2*pi*fc*t); %正交载波

dsb_sig=m_sig.*c_sig; %DSB已调信号

am_sig=(1+m_sig).*c_sig; %AM已调信号

ssb_sig_usb=(m_sig.*c_sig - m_shift_p.*c_q_sig)/2; %SSB已调信号,上边带

ssb_sig_lsb=(m_sig.*c_sig + m_shift_p.*c_q_sig)/2; %SSB已调信号,下边带

fHz=[0:4095]/4096*fs; %频率点

M_f=fft(m_sig,4096); %调制信号的频谱

C_f=fft(c_sig,4096); %载波的频谱

dsb_f=fft(dsb_sig,4096); %DSB已调信号频谱

am_f = fft(am_sig, 4096); %AM已调信号频谱

ssb_usb_f = fft(ssb_sig_usb, 4096); %SSB已调信号,上边带频谱

ssb_lsb_f = fft(ssb_sig_lsb, 4096); %SSB已调信号,下边带频谱

figure(1);

subplot(2,1,1); %调制信号波形

plot(t,m_sig);

title('调制信号');

xlabel('\itt\rm(s)');

%ylabel('\itm\rm(\itt\rm)');

subplot(2,1,2); %载波波形

plot(t,c_sig);

title('载波');

xlabel('\itt\rm(s)');

%ylabel('\itc\rm(\itt\rm)');

figure(2);

subplot(3,1,1);

plot(t,dsb_sig);

title('DSB已调信号');

xlabel('\itt\rm(s)');

%ylabel('\its\rs_D_S_B(\itt\rm)');

axis([0 0.01 -2 2]);

subplot(3,1,2); %DSB已调制信号波形

plot(t,am_sig);

title('AM已调信号');

xlabel('\itt\rm(s)');

%ylabel('\itm\rm(\itt\rm)');

axis([0 0.01 -2 2]);

subplot(3,1,3); %AM调制信号波形

plot(t,m_sig);

title('调制信号');

xlabel('\itt\rm(s)');

axis([0 0.01 -2 2]);

figure(3);

subplot(3,2,1); %调制信号频谱

plot(fHz/1e3,abs(M_f));

title('调制信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itM\rm(\itf\rm)');

axis([0 22 0 420]);

grid on;

subplot(3,2,2);

plot(fHz/1e3,abs(C_f)) %载波信号频谱

title('载波信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itF\rm_C(\itf\rm)');

axis([0 22 0 420]);

grid on;

subplot(3,2,3);

plot(fHz/1e3,abs(dsb_f)); %DSB已调信号频谱

title('DSB已调信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itF\rm_D_S_B(\itf\rm)');

axis([0 22 0 420]);

grid on;

subplot(3,2,4); %AM已调信号频谱

plot(fHz/1e3,abs(am_f));

title('AM已调信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itM\rm(\itf\rm)');

axis([0 22 0 420]);

grid on;

subplot(3,2,5);

plot(fHz/1e3,abs(ssb_usb_f)) % SSB已调信号,上边带频谱

title('SSB已调信号,上边带频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itF\rm_C(\itf\rm)');

axis([0 22 0 420]);

grid on;

subplot(3,2,6);

plot(fHz/1e3,abs(ssb_lsb_f)); % SSB已调信号,下边带频谱

title('SSB已调信号,下边带频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itF\rm_D_S_B(\itf\rm)');

axis([0 22 0 420]);

grid on;

%DSB解调

wc=1.5*2*pi*fm/fs; %解调器低通滤波器截止频率,1.5fm

% lbf_hn=fir1(8,wc/pi);

lbf_hn16=fir1(16,wc/pi); %低通滤波器系统函数,FIR滤波器

dsb_dem_mul=dsb_sig.*c_sig; %解调器乘法器输出

dem_out=filter(lbf_hn16,1,dsb_dem_mul); %滤波器输出

dsb_dem_mul_f=fft(dsb_dem_mul,4096); %解调器乘法器输出信号频谱

dem_out_f=fft(dem_out,4096); %DSB解调信号频谱

figure(4);

grid on;

hold on;

[h,w]=freqz(lbf_hn16, 1, N); %低通滤波器的频率响应

semilogx(w*fs/(2*pi)/1e3,20*log10(abs(h)),'r');

title('Frequence response - LBF');

xlabel('\itf\rm(kHz)');

ylabel('\itH\rm_L_P_F(dB)');

%axis([0.1 40 -90 0]);

figure(5);

subplot(3,1,1);

plot(fHz/1e3,abs(dsb_dem_mul_f)); %DSB解调乘法器输出信号频谱

title('解调乘法器输出信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itS\rm_o(\itf\rm)');

axis([0 22 0 210]);

grid on;

subplot(3,1,2);

plot(fHz/1e3,abs(dem_out_f)); %解调器输出信号频谱

title('解调器输出信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itM\rm_o(\it\f\rm)');

axis([0 22 0 210]);

grid on;

subplot(3,1,3);

plot(t,dem_out,'r'); %解调器输出信号波形

title('解调器输出信号');

xlabel('\itt\rm(s)');

%ylabel('\itm\rm_o(\itt\rm)');

% axis([0 0.01 -0.6 0.6]);

grid on;

%SSB解调,上边带

wc=1.5*2*pi*fm/fs; %解调器低通滤波器截止频率,1.5fm

% lbf_hn=fir1(8,wc/pi);

lbf_hn16=fir1(16,wc/pi); %低通滤波器系统函数,FIR滤波器

ssb_dem_mul=ssb_sig_usb.*c_sig; %解调器乘法器输出

sem_out=filter(lbf_hn16,1,ssb_dem_mul); %滤波器输出

ssb_dem_mul_f=fft(ssb_dem_mul,4096); %解调器乘法器输出信号频谱

sem_out_f=fft(sem_out,4096); %SSB解调信号频谱

figure(6);

subplot(3,1,1);

plot(fHz/1e3,abs(ssb_dem_mul_f)); %SSB解调乘法器输出信号频谱

title('解调乘法器输出信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itS\rm_o(\itf\rm)');

axis([0 22 0 210]);

grid on;

subplot(3,1,2);

plot(fHz/1e3,abs(sem_out_f)); %解调器输出信号频谱

title('解调器输出信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itM\rm_o(\it\f\rm)');

axis([0 22 0 210]);

grid on;

subplot(3,1,3);

plot(t,sem_out,'r'); %解调器输出信号波形

title('解调器输出信号');

xlabel('\itt\rm(s)');

%ylabel('\itm\rm_o(\itt\rm)');

% axis([0 0.01 -0.6 0.6]);

grid on;

%SSB解调,下边带

wc=1.5*2*pi*fm/fs; %解调器低通滤波器截止频率,1.5fm

% lbf_hn=fir1(8,wc/pi);

lbf_hn16=fir1(16,wc/pi); %低通滤波器系统函数,FIR滤波器

ssb_dem_mul2=ssb_sig_lsb.*c_sig; %解调器乘法器输出

sem_out2=filter(lbf_hn16,1,ssb_dem_mul2); %滤波器输出

ssb_dem_mul_f2=fft(ssb_dem_mul2,4096); %解调器乘法器输出信号频谱

sem_out_f2=fft(sem_out2,4096); %SSB解调信号频谱

figure(7);

subplot(3,1,1);

plot(fHz/1e3,abs(ssb_dem_mul_f2)); %SSB解调乘法器输出信号频谱

title('解调乘法器输出信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itS\rm_o(\itf\rm)');

axis([0 22 0 210]);

grid on;

subplot(3,1,2);

plot(fHz/1e3,abs(sem_out_f2)); %解调器输出信号频谱

title('解调器输出信号频谱');

xlabel('\itf\rm(kHz)');

%ylabel('\itM\rm_o(\it\f\rm)');

axis([0 22 0 210]);

grid on;

subplot(3,1,3);

plot(t,sem_out2,'r'); %解调器输出信号波形

title('解调器输出信号');

xlabel('\itt\rm(s)');

%ylabel('\itm\rm_o(\itt\rm)');

% axis([0 0.01 -0.6 0.6]);

grid on;

%解调载波不同步时的解调情况

lc_sig1 = cos(2*pi*fc*t+pi/8);

lc_sig2 = cos(2*pi*fc*t+pi/4);

lc_sig3 = cos(2*pi*fc*t+pi/3);

lc_sig4 = cos(2*pi*fc*t+pi/2);

dsb_dem_mul1=dsb_sig.*lc_sig1; %解调器乘法器输出

dsb_dem_mul2=dsb_sig.*lc_sig2; %解调器乘法器输出

dsb_dem_mul3=dsb_sig.*lc_sig3; %解调器乘法器输出

dsb_dem_mul4=dsb_sig.*lc_sig4; %解调器乘法器输出

dem_out1=filter(lbf_hn16,1,dsb_dem_mul1); %滤波器输出

dem_out2=filter(lbf_hn16,1,dsb_dem_mul2); %滤波器输出

dem_out3=filter(lbf_hn16,1,dsb_dem_mul3); %滤波器输出

dem_out4=filter(lbf_hn16,1,dsb_dem_mul4); %滤波器输出

figure(6);

subplot(2,2,1);

plot(t,dem_out1); %解调器输出信号波形

title('解调器输出信号,解调载波相差\pi/8');

xlabel('\itt\rm(s)');

axis([0 0.01 -0.5 0.5]);

subplot(2,2,2);

%grid on;

plot(t,dem_out2); %解调器输出信号波形

title('解调器输出信号,解调载波相差\pi/4');

xlabel('\itt\rm(s)');

axis([0 0.01 -0.5 0.5]);

subplot(2,2,3);

%grid on;

plot(t,dem_out3); %解调器输出信号波形

title('解调器输出信号,解调载波相差\pi/3');

xlabel('\itt\rm(s)');

axis([0 0.01 -0.5 0.5]);

axis([0 0.01 -0.5 0.5]);

subplot(2,2,4);

%grid on;

plot(t,dem_out4); %解调器输出信号波形

title('解调器输出信号,解调载波相差\pi/2');

xlabel('\itt\rm(s)');

axis([0 0.01 -0.5 0.5]);

%grid on;

  • 下载文档
  • 收藏
  • 0

推荐访问:实验报告 调制 线性 仿真 实验报告_模拟线性调制系统仿真(11页)

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。