📄 lofm(nbfm).m
字号:
clear all;close all;clc;clf;
t=0:pi/20:40*pi;
dt=pi/20; %定义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);
k(i)=sum(Mod_Sig(1:i));
end;
FM=Carrier-0.5*k.*sin(t) %窄带调频
subplot(211);
plot(t,Carrier); %载波信号图
title('(1)基波信号');
ylabel('Mod_Sig');
subplot(212);
plot(t,Mod_Sig); %基波信号图
title('(2)载波信号');
xlabel('time');
ylabel('Carrier(t)');
figure
subplot(211);
plot(t,FM); %FM调制信号图
title('(3)FM调制');
xlabel('time');
ylabel('voltage');
grid on;
legend('modulated signal');
[m,n]=size(FM);
N0=0.3*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信号进行带通滤波器
hh=H.*(-sin(t)); %让H信号乘上相干载波
wn=2*dt*1.1/4/pi;
[b2,a2]=butter(4,wn,'low');
H1=filter(b2,a2,hh); %对hh信号进行低通滤波
HH=diff(H1); %取微分
HH=[HH,0];
figure
subplot(211)
plot(t,Mod_Sig)
title('基带信号');
ylabel('Mod_Sig(t)');
subplot(212)
plot(t,HH) %解调信号与原基带信号对比
title('解调信号');
xlabel('time');
ylabel('B(t)')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -