📄 lofm(wbfm).m
字号:
clear all;close all;clc;clf;
t=0:pi/10:40*pi;
dt=pi/10; %定义t及抽样间隔
fc=1/2/pi;
fm=1/4/pi;
a1=fc-fm;
b1=fc+fm;
Carrier=cos(t); %载波信号
Mod_Sig=sin(t/2); %基带信号
for i=1:length(t); %for循环中用sum实现对sin(t)的积分
k(i)=sum(Mod_Sig(1:i));
end;
FM=cos(t+k); %调制信号
subplot(311);
plot(t,Carrier); %基波信号图
title('(1)基波信号');
xlabel('time');
ylabel('Carrier(t)');
subplot(312);
plot(t,k);%对Mod_Sig的积分图
title('(1)基波信号积分');
xlabel('time');
ylabel('K(t)');
subplot(313);
plot(t,Mod_Sig); %载波信号图
title('(2)载波信号');
figure
subplot(211);
plot(t,FM); %调制信号图
title('(3)FM调制');
xlabel('time');
ylabel('voltage');
grid on;
legend('modulated signal');
[m,n]=size(FM);
N0=0.1*randn(m,n);
B=FM+N0; %加高斯白噪声
subplot(212);
plot(B)
title('加高斯白噪声');
xlabel('time');
ylabel('B(t)');
m1=2*dt*a1;
m2=2*dt*b1;
[b,a]=butter(4,[m1 m2],'bandpass')
H=filter(b,a,FM); %对FM信号进行带通滤波
v=diff(H); %取微分
v=[v,0];
xx=abs(hilbert(v)); %包络检波
xx=xx-0.2;
figure
subplot(211)
plot(t,Mod_Sig)
title('基带信号');
ylabel('Mod_Sig(t)');
wn=2*dt*3.1/4/pi;
[b2,a2]=butter(4,wn,'low');
H1=filter(b2,a2,xx); %对xx信号进行低通滤波
subplot(212)
plot(t,H1); %解调信号与原基带信号对比
title('解调信号');
xlabel('time');
ylabel('H1(t)')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -