基于MATLAB的信号幅度调制+解调+傅里叶变换+频谱图操作
2018-05-21 22:24阅读:
上一篇文章中我们对信号进行了幅度调制,我们只是看到了调制后的波形,今天在高频课上听老师讲了信号的幅度调制以及调制过后的频率搬移,于是我就在MATLAB上面简单的试了一下信号的调制+解调+傅里叶变换+频谱图。话不所说,下面看具体步骤:
一:调制
1、产生低频调制信号:
%生成低频调制信号
F=20;%调制信号频率为20Hz
U_wm=2;%调制信号的振幅为2
t=(0:0.0001:0.1);%定义信号的时间范围
U_w=U_wm*cos(2*pi*F*t);%调制信号
figure(1)
plot(t,U_w)
2、产生高频载波信号:
%生成高频载波信号
fc=300;%高频载波信号频率
U_cm=5;%高频载波信号的振幅为5
U_c=U_cm*cos(2*pi*fc*t);
figure(2)
plot(t,U_c)
3、进行幅度调制:
ka=2;%暂时可以理解为调整系数(其实调制系数有他官方的定义,不过暂时可以先认为ka就是调制系数)
U_m=U_cm+ka*U_w;%把高频载波的幅度和低频调制信号联系起来,即高频载波的幅度随着低频信号的变化而变化,从而实现了幅度调制
U_am=U_m.*cos(2*pi*fc*t);
figure(3)
plot(t,U_am)
4、对已调信号进行抽样处理:(关于抽样处理我有专门的一次文章去讲解它)
%对已调信号进行抽样处理
fs=800;%采样频率为800Hz
N=800;%采样点数为800
此时频谱图的分辨率是fs/N=1Hz
dt=1/fs;%采样间隔
T=(0:N-1)*dt;%定义采样时间点
y=(U_cm+ka*U_wm*cos(2*pi*F*T)).*(cos(2*pi*fc*T));%对连续信号进行抽样
figure(4)
stem(T,y)%画出抽样信号的图形

5、对已调信号进行傅里叶变换并作出它的频谱图:
%对刚进行抽样处理后的信号进行傅里叶变换
f=(0:N-1)*fs/N;%定义频谱图的横坐标,即横坐标的间隔是fs/N,频谱图中第n个点的频率是(n-1)*fs/N
% N=2^nextpow2(N);
Y=fft(y,N);%进行傅里叶变换
A=abs(Y);%取绝对值
figure(5)
plot(f(1:N/2),A(1:N/2))%只画出奈奎斯特频率左边的图像
%最后画出来的频谱图中,幅度最高的就是高频载波的频率,称为基波分量,他左右两边的两个幅度相等的频率分别是fc-F和fc+F,称为下边频分量和上边频分量

到目前为止已经把完成了信号的调制了,接下来进行信号的解调。
二:解调
1、产生解调所需要的高频信号,并且进行解调操作:
U_rm=2;%解调过程中高频波的幅度为2
U_r=U_rm*cos(2*pi*fc*t);%解调所需要的高频信号
U_o=U_am.*U_r;
figure(6)
plot(t,U_o)
2、对解调后的信号进行抽样处理:
%对解调后的信号进行抽样处理
fs=800;%采样频率为800Hz
N=800;%采样点数为800 此时频谱图的分辨率是fs/N=1Hz
dt=1/fs;%采样间隔
T=(0:N-1)*dt;%定义采样时间点
y=((U_cm+ka*U_wm*cos(2*pi*F*T)).*(cos(2*pi*fc*T))).*(U_rm*cos(2*pi*fc*T));%对连续信号进行抽样
figure(7)
stem(T,y)%画出抽样信号的图形
3、对刚刚进行抽样处理后的信号进行傅里叶变换并作出频谱图:
%对解调后的信号进行傅里叶变换
f=(0:N-1)*fs/N;%定义频谱图的横坐标,即横坐标的间隔是fs/N,频谱图中第n个点的频率是(n-1)*fs/N
% N=2^nextpow2(N);
Y=fft(y,N);%进行傅里叶变换
A=abs(Y);%取绝对值
figure(8)
plot(f(1:N/2),A(1:N/2))%只画出奈奎斯特频率左边的图像
%画出的图形在低频附近出现的就是低频调制信号的频率,此时已经把调制信号从已调信号中解调了出来,至于后面出现的较高频率,目前还不太理解是啥

到目前为止已经完成了解调的过程。
以上过程就是实现了信号的幅度调制以及解调过程。
下面是总的源代码:
%本程序实现的是用一个频率为20Hz的低频调制信号采用幅度调制的方法去调制一个频率为300Hz的高频载波信号,
%并且进行傅里叶变换作出已调信号的频谱图,然后再对已调信号进行解调,并对其进行傅里叶变换作出解调信号的频谱图
%%%调制
%生成低频调制信号
F=20;%调制信号频率为20Hz
U_wm=2;%调制信号的振幅为2
t=(0:0.0001:0.1);%定义信号的时间范围
U_w=U_wm*cos(2*pi*F*t);%调制信号
figure(1)
plot(t,U_w)
%生成高频载波信号
fc=300;%高频载波信号频率
U_cm=5;%高频载波信号的振幅为5
U_c=U_cm*cos(2*pi*fc*t);
figure(2)
plot(t,U_c)
%进行幅度调制
ka=2;
U_m=U_cm+ka*U_w;%把高频载波的幅度和低频调制信号联系起来,即高频载波的幅度随着低频信号的变化而变化,从而实现了幅度调制
U_am=U_m.*cos(2*pi*fc*t);
figure(3)
plot(t,U_am)
%对已调信号进行抽样处理
fs=800;%采样频率为800Hz
N=800;%采样点数为800 此时频谱图的分辨率是fs/N=1Hz
dt=1/fs;%采样间隔
T=(0:N-1)*dt;%定义采样时间点
y=(U_cm+ka*U_wm*cos(2*pi*F*T)).*(cos(2*pi*fc*T));%对连续信号进行抽样
figure(4)
stem(T,y)%画出抽样信号的图形
%对刚进行抽样处理后的信号进行傅里叶变换
f=(0:N-1)*fs/N;%定义频谱图的横坐标,即横坐标的间隔是fs/N,频谱图中第n个点的频率是(n-1)*fs/N
% N=2^nextpow2(N);
Y=fft(y,N);%进行傅里叶变换
A=abs(Y);%取绝对值
figure(5)
plot(f(1:N/2),A(1:N/2))%只画出奈奎斯特频率左边的图像
%最后画出来的频谱图中,幅度最高的就是高频载波的频率,称为基波分量,他左右两边的两个幅度相等的频率分别是fc-F和fc+F,称为下边频分量和上边频分量
%%%解调
U_rm=2;%解调过程中高频波的幅度为2
U_r=U_rm*cos(2*pi*fc*t);%解调所需要的高频信号
U_o=U_am.*U_r;
figure(6)
plot(t,U_o)
%对解调后的信号进行抽样处理
fs=800;%采样频率为800Hz
N=800;%采样点数为800 此时频谱图的分辨率是fs/N=1Hz
dt=1/fs;%采样间隔
T=(0:N-1)*dt;%定义采样时间点
y=((U_cm+ka*U_wm*cos(2*pi*F*T)).*(cos(2*pi*fc*T))).*(U_rm*cos(2*pi*fc*T));%对连续信号进行抽样
figure(7)
stem(T,y)%画出抽样信号的图形
%对解调后的信号进行傅里叶变换
f=(0:N-1)*fs/N;%定义频谱图的横坐标,即横坐标的间隔是fs/N,频谱图中第n个点的频率是(n-1)*fs/N
% N=2^nextpow2(N);
Y=fft(y,N);%进行傅里叶变换
A=abs(Y);%取绝对值
figure(8)
plot(f(1:N/2),A(1:N/2))%只画出奈奎斯特频率左边的图像
%画出的图形在低频附近出现的就是低频调制信号的频率,此时已经把调制信号从已调信号中解调了出来,至于后面出现的较高频率,目前还不太理解是啥