通信原理Matlab仿真:模拟信号的幅度调制
【摘要】
用Matlab产生一个频率为1Hz、功率为1的余弦信源,设载波频率为10Hz,试画出:
DSB调制信号及其功率谱密度;
clc,clear,close all;dt=0.001; t=-10:dt:10; % 仿真时间fm=1;%基带信号频率fc=10;%载波频率mt=sqrt(2)*cos(2*pi*fm*t);%基带...
用Matlab产生一个频率为1Hz、功率为1的余弦信源,设载波频率为10Hz,试画出:
DSB调制信号及其功率谱密度;
clc,clear,close all;
dt=0.001;
t=-10:dt:10; % 仿真时间
fm=1;%基带信号频率
fc=10;%载波频率
mt=sqrt(2)*cos(2*pi*fm*t);%基带信号
c=cos(2*pi*fc*t);%载波信号
st=mt.*c;%DSB
%求功率谱
T=20;
df=1/T;% 抽样精度
N=length(st);%确定抽样个数
f=-N/2*df:df:N/2*df-df;%功率谱范围
sf=fft(st);%傅里叶变化
sf=T/N*fftshift(sf);%将零频点移到频谱的中间
psf=(abs(sf).^2)/T;%求功率
%绘制基带信号
subplot(311)
plot(t,mt)
xlabel('t');
ylabel('mt');
%plot(t,mt,'r--')
title('基带信号波形');
axis([-5,5,-1.5,1.5]);
grid on;
%绘制DSB波形
subplot(312)
plot(t,st)
xlabel('t');
ylabel('st');
hold on;
plot(t,mt,'r--');
title('DSB调制波形');
legend('DSB','基带信号')
axis([-5,5,-1.5,1.5]);
grid on;
%绘制DSB功率谱
subplot(313)
plot(f,psf);
xlabel('f');
ylabel('psf');
%plot(f,abs(st1));
axis([-2*fc 2*fc 0 max(psf)]);
title('DSB信号功率谱');
grid on;
gtext('图2-1 DSB调制信号及其功率谱密度波形')
- 将已调信号解调,在时域内将解调后的波形与原信号进行对比;
clc,clear,close all;
dt=0.001;
t=-10:dt:10;% 仿真时间
fm=1;%基带信号频率
fc=10;%载波频率
w_lpf = 1; % 低通滤波器截止频率(理想)
mt=sqrt(2)*cos(2*pi*fm*t);%基带信号
c=cos(2*pi*fc*t);%载波信号
st=mt.*c;%DSB
%解调
st1=st.*c;
sample = length(t);
st2 = fft(st1, sample)/sample*2; % 这里要/抽样次数*2 才是最后结果
f = 1/dt/sample*(0:1:sample-1);
st3 = st2.*(f<w_lpf); % 进过低通滤波
st4 = real(ifft(st3)); %解调后波形
%绘制基带信号
subplot(311)
plot(t,mt)
xlabel('t');
ylabel('mt');
%plot(t,mt,'r--')
title('基带信号波形');
axis([-5,5,-1.5,1.5]);
grid on;
%绘制DSB波形
subplot(312)
plot(t,st)
xlabel('t');
ylabel('st');
hold on;
plot(t,mt,'r--');
title('DSB调制波形');
legend('DSB信号','基带信号')
axis([-5,5,-1.5,1.5]);
grid on;
%绘制解调后信号与原信号波形对比
subplot(313)
plot(t,st4*sample);
hold on;
plot(t,mt)
xlabel('t');
ylabel('st1');
%plot(f,abs(st1));
axis([-5,5,-1.5,1.5]);
hold on;
%plot(t,mt,'r--');
title('解调后波形');
legend('解调后信号','基带信号')
grid on;
gtext('图2-2 时域内DSB解调后的波形与原信号进行对比')
A=2的AM调制信号及其功率谱密度;
clc,clear,close all;
dt=0.001;
t=-10:dt:10;% 仿真时间
A=2;
fm=1;%基带信号频率
fc=10;%载波频率
w_lpf = 1; % 低通滤波器截止频率(理想)
w_ipf = 1; % 带通滤波器截止频率(理想)
fm = 0.3; % 带通滤波器通带
mt=sqrt(2)*cos(2*pi*fm*t);%基带信号
c=cos(2*pi*fc*t);%载波信号
st=(mt+A).*c;%AM
%解调
st1=st.*c;
sample = length(t);
st2 = fft(st1, sample)/sample*2; % 这里要/抽样次数*2 才是最后结果
f = 1/dt/sample*(0:1:sample-1);
st3 = st2.*(f<w_lpf); % 进过低通滤波
st4 = real(ifft(st3)); %解调后波形
%求功率谱
T=20;
df=1/T;%抽样精度
N=length(st);%确定抽样个数
f=-N/2*df:df:N/2*df-df;%功率谱范围
sf=fft(st);%傅里叶变化
sf=T/N*fftshift(sf);%将零频点移到频谱的中间
psf=(abs(sf).^2)/T;%求功率
%绘制基带信号
subplot(411)
plot(t,mt)
xlabel('t');
ylabel('mt');
%plot(t,mt,'r--')
title('基带信号波形');
axis([-5,5,-1.5,1.5]);
grid on;
%绘制AM波形
subplot(412)
plot(t,st)
xlabel('t');
ylabel('st');
hold on;
plot(t,mt+2,'r--');
title('AM调制波形');
legend('AM','基带信号')
axis([-5,5,-5,5]);
grid on;
%绘制AM功率谱
subplot(413)
plot(f,psf);
xlabel('f');
ylabel('psf');
%plot(f,abs(st1));
axis([-2*fc 2*fc 0 max(psf)]);
title('AM信号功率谱');
grid on;
%绘制解调后信号与原信号波形对比
subplot(414)
plot(t,st4*sample-2)
xlabel('t');
ylabel('st4');
%plot(f,abs(st1));
axis([-10,10,-3,3]);
hold on;
plot(t,mt,'r--');
title('解调后波形');
legend('解调后信号','基带信号')
grid on;
gtext('图2-3 A=2的AM调制信号及其功率谱密度波形')
SSB调制信号及其功率谱密度;
clc,clear,close all;
dt=0.001;
t=-10:dt:10;% 仿真时间
fm=1;%基带信号频率
fc=10;%载波频率
w_lpf = 1; % 低通滤波器截止频率(理想)
w_ipf = 1; % 带通滤波器截止频率(理想)
fm = 0.3; % 带通滤波器通带
mt=sqrt(2)*cos(2*pi*fm*t);%基带信号
c=cos(2*pi*fc*t);%载波信号
st=real(hilbert(mt).*exp(j*2*pi*fc*t));%SSB
%解调
st1=st.*c;
sample = length(t);
st2 = fft(st1, sample)/sample*2; % 这里要/抽样次数*2
f = 1/dt/sample*(0:1:sample-1);
st3 = st2.*(f<w_lpf); % 进过低通滤波
st4 = real(ifft(st3)); %解调后波形
%求功率谱
T=20;
df=1/T;%抽样精度
N=length(st);%确定抽样个数
f=-N/2*df:df:N/2*df-df;%功率谱范围
sf=fft(st);%傅里叶变化
sf=T/N*fftshift(sf);%将零频点移到频谱的中间
psf=(abs(sf).^2)/T;%求功率
%绘制基带信号
subplot(411)
plot(t,mt)
xlabel('t');
ylabel('mt');
%plot(t,mt,'r--')
title('基带信号波形');
axis([-5,5,-2,2]);
grid on;
%绘制SSB波形
subplot(412)
plot(t,st)
xlabel('t');
ylabel('st');
hold on;
plot(t,mt,'r--');
title('SSB调制波形');
legend('SSB','基带信号')
axis([-5,5,-2,2]);
grid on;
%绘制SSB功率谱
subplot(413)
plot(f,psf);
xlabel('f');
ylabel('psf');
%plot(f,abs(st1));
axis([-2*fc 2*fc 0 max(psf)]);
title('SSB信号功率谱');
grid on;
%绘制解调后信号与原信号波形对比
subplot(414)
plot(t,st4*sample)
xlabel('t');
ylabel('st4');
%plot(f,abs(st1));
axis([-10,10,-2,2]);
hold on;
plot(t,mt,'r--');
title('解调后波形');
legend('解调后信号','基带信号')
grid on;
gtext('图2-4 SSB调制信号及其功率谱密度波形')
在信道中各自加入经过带通滤波器后的窄带高斯白噪声,功率为0.1,解调各个信号,并画出解调后的波形。
clc,clear,close all;
A=2;
dt=0.001;
t=-10:dt:10;% 仿真时间
fm=1;%基带信号频率
fc=10;%载波频率
w_lpf = 1;% 低通滤波器截止频率(理想)
w_ipf=1; % 带通滤波器截止频率(理想)
mt=sqrt(2)*cos(2*pi*fm*t);%基带信号
c=cos(2*pi*fc*t);%载波信号
%获得各种信号
st1=mt.*c;%DSB信号
st2=(mt+A).*c;%AM信号
st3= 0.5*mt.* c + 0.5*hilbert(mt).*hilbert(c); %SSB信号
%给各种信号加高斯白噪声
st11=awgn(st1,-10);%DSB信号加高斯白噪声
st22=awgn(st2,-10);%AM信号加高斯白噪声
st33=awgn(st3,-10);%SSB信号加高斯白噪声
%解调
sample = length(t);
f = 1/dt/sample*(0:1:sample-1);
st11=st11.*c;%DSB信号解调
st111 = fft(st11, sample)/sample*2; % 这里要/抽样次数*2 才是最后结果
st111 = st111.*(f<w_lpf); % 进过低通滤波
st1111 = real(ifft(st111)); %解调后波形
st22=st22.*c;%AM信号解调
st222 = fft(st22, sample)/sample*2; %这里要/抽样次数*2 才是最后结果
st222 = st222.*((f>w_ipf-fm) - (f>w_ipf+fm) );%进过低通滤波
st2222 = real(ifft(st222)); %解调后波形
st33=st33.*c;%SSB信号解调
st333 = fft(st33, sample)/sample*2; % 这里要/抽样次数*2 才是最后结果
st333 = st333.*((f>w_ipf-fm) - (f>w_ipf+fm) ); % 进过低通滤波
st3333 = real(ifft(st333)); %解调后波形
%DSB经过高斯白噪声后解调波形与原波形比较
subplot(311);
plot(t,st1111*sample);
xlabel('t');
ylabel('mt');
hold on;
plot(t,mt,'r--');
title('经过高斯白噪声后波形比较');
legend('DSB','基带信号');
axis([-5,5,-1.5,1.5]);
grid on;
%AM经过高斯白噪声后解调波形与原波形比较
subplot(312)
plot(t,st2222*sample)
xlabel('t');
ylabel('mt');
hold on;
plot(t,mt,'r--')
title('经过高斯白噪声后波形比较');
legend('AM','基带信号');
axis([-5,5,-1.5,1.5]);
grid on;
%SSB经过高斯白噪声后解调波形与原波形比较
subplot(313)
plot(t,st3333*sample)
xlabel('t');
ylabel('mt');
hold on;
plot(t,mt,'r--');
title('经过高斯白噪声后波形比较');
legend('SSB','基带信号')
axis([-5,5,-1.5,1.5]);
grid on;
gtext('图2-5 基带信号与经过高斯白噪声后DSB、SSB、AM解调后波形比较')
文章来源: blog.csdn.net,作者:渣渣ye,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/yyfloveqcw/article/details/123811018
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)