繁体   English   中英

MATLAB中的AM调制:采样频率?

[英]AM Modulation in MATLAB: Sampling frequency?

我正在尝试使用Fm = 200 Hz(时域从0到1)的正弦消息调制Fc = 10 KHz的载波

采样率Fs = 1KHz。

这是我的代码:

fs=1000;    % sampling freq.
ts=1/fs;
t= 0 : ts : 1;   % time axis
N=length(t);

%signal
fsignal=200;   % message signal freq.
y=sin(2*pi*fsignal*t);
f= -fs/2 : fs/N : fs/2 - fs/N;   % freq. axis
Y=fftshift(fft(y));
subplot(211); plot(f,abs(Y));

至此,没有问题。 现在,对于载波信号:

%carrier:
fc = 10000;
carrier = cos(2*pi*fc*t);
CARRIER=fftshift(fft(carrier));
subplot(212); plot(f,abs(CARRIER));

信息载体

现在需要在时域中将运营商和消息相乘。 但是承运人是不正确的。 问题源于Fs << Fc

这就是为什么我为承运商弄错了FT。

请问该如何解决?

注意:这只是我用来了解情况的一个示例。 我要解决的实际问题包括wav音频文件(Fs = 44.1 KHz)和载波频率(Fc = 100 KHz)。 因此,Fs << Fc,我对此无能为力。

谢谢,

如果要在调制后绘制频谱图,则应设置样本频率fs = 2*(fc + fsignal) 参见奈奎斯特一世定理。

也许您正在尝试查看运营商周围的频谱? 没有高采样? 您可以使用zoom-fft和Nyquist II定理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM