调频米(吨)m(t)在 MATLAB 中

信息处理 matlab 数字通信 调制 调频
2022-02-22 18:23:37

我在以下区间

m(t)={1,0t<t032,t03t<2t030,2t03t<t0

其中,采样频率t0=0.15 secondsFs=2 kHz

我的 MATLAB 代码以构造m(t)

t0= 0.15;
Fs= 2000;
t1= 0:1/Fs:t0/3- 1/Fs;
t2= t0/3:1/Fs:2*t0/3 - 1/Fs;
t3= 2*t0/3:1/Fs:3*t0/3-1/Fs;
m1= ones([1, length(t1)]);
m2= -2*ones([1, length(t2)]);
m3= zeros([1, length(t3)]);
m= [m1, m2, m3];
t= [t1, t2, t3]; 

我试图找到频率调制,并希望使用以下公式 载波频率 Hz 和偏差常数

xFM(t)=cos(2πfct+2πkftm(x)dx)
fc=200kf=50

当我们找到整数时,只允许使用 for 或 while 循环。为了整合,我做了这个for循环

result=0;
j=1;

for i= 0:1/Fs:t0- 1/Fs
   result= result + m(j);

    %% result2 will be used as we integrate it over 0 to 0.15
   result2(j) = result;
   j= j+1;
end

请告诉我,这种集成有问题吗?我绘制了这个,这对我来说似乎是正确的。

在此处输入图像描述

如果积分是真的,那么为什么在绘制这个信号时频率根本没有改变。

xFM= cos(2*pi*fc*t + 2*pi*kf*result)

在此处输入图像描述

完整代码在这里

1个回答

集成不正确。我将它与集成。在for循环中进行操作,我现在已经做了dxdx=1m(j)*1/Fsdx=1/Fs

可以看出,现在不同幅度的频率变化。 在此处输入图像描述

此外,result是一个常数,应将其更改为 ,result2以便它给出关于时间的结果。t