如何在matlab中集成锯齿信号

时间:2014-12-15 20:42:55

标签: matlab

我想解决Haykin通信系统中的问题2.24使用matlab,它希望使用fm调制和pm调制来调制锯齿信号,pm很容易但问题出在{{1当我需要集成锯齿来调制它以便任何帮助时我不想在fm中使用fmmod函数我希望它用方程式。谢谢

这是我用过的代码

matlab

2 个答案:

答案 0 :(得分:0)

第一个选项:

可以找到fmmod的简单实现{。{3}}。

第二个选项:

使用MATLAB可以轻松获得结果。但是,我不知道你的意思"我想要方程式"。

  • fs是信号的采样率(fs必须至少为2*fc
  • fc是载频
  • t是信号的采样时间
  • x是信号(此处为sawtooth
  • dev是调制信号中的频率偏差
  • y是调制信号
  • z是解调信号

您可以使用以下代码:

fs=3000;
fm=20;
fc=1000;
t=[0:fs-1]/fs;
x=sawtooth(2*pi*fm*t); 
subplot(3,1,1);plot(x);
xlabel('main signal');
dev = 20;
y = fmmod(x,fc,fs,dev);
subplot(3,1,2);plot(y);
xlabel('modulated signal');
z = fmdemod(y,fc,fs,dev);
subplot(3,1,3);plot(z);
xlabel('demodulated signal');

结果如下图所示:

enter image description here

答案 1 :(得分:0)

fs=10000;
fm=1;
fc=10;
t=0:1/fs:6/fm;
kf=25;
kp=30;
m=1+sawtooth(2*pi*fm*t);
m_int=cumtrapz(t,m);
s_fm=2*cos((2*pi*fc*t)+kf*m_int);
s_pm=2*cos((2*pi*fc*t)+kp*m);
subplot(3,1,1);plot(t,m);
title('wave form of sawtooth modulating signal');
xlabel('time (sec)');
ylabel('amplitude');

subplot(3,1,2);plot(t,s_fm);
title('wave form of FM modulated signal');
xlabel('time (sec)');
ylabel('amplitude');

subplot(3,1,3);plot(t,s_pm);
title('wave form of PM modulated signal');
xlabel('time (sec)');
ylabel('amplitude');