lopm.m

来自「am调制解调」· M 代码 · 共 69 行

M
69
字号
clear all;close all;clc;clf; 
t=0:pi/10:40*pi; 
dt=pi/10;
fc=1/2/pi;
fm=1/4/pi;
a1=fc-fm;
b1=fc+fm;

Carrier=cos(t);  %载波信号
Mod_Sig=sin(t/2); %基带信号
PM=cos(t+2*Mod_Sig); %PM调制信号

subplot(211);
plot(t,Carrier);   %基波信号图
title('(1)基波信号');
xlabel('time'); 
ylabel('Carrier(t)'); 

subplot(212);
plot(t,Mod_Sig);   %载波信号图
title('(2)载波信号');
xlabel('time'); 
ylabel('Mod_Sig(t)'); 

figure
subplot(211); 
plot(t,PM);       %PM调制信号图
title('(3)PM调制'); 
xlabel('time'); 
ylabel('voltage'); 
grid on; 
legend('modulated signal');

[m,n]=size(PM);
N0=0.1*randn(m,n); 
B=PM+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,PM);   %带通滤波


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);  %低通滤波
subplot(212)
plot(t,H1) %解调信号与原基带信号对比
title('解调信号');
xlabel('time'); 
ylabel('B(t)')

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?