【问题标题】:AM Modulation in MATLAB: Sampling frequency?MATLAB 中的 AM 调制:采样频率?
【发布时间】:2015-12-11 12:12:04
【问题描述】:

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

采样率 Fs=1 KHz。

这是我的代码:

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

这就是为什么我弄错了承运人的 F.T。

请问如何解决?

N.B:这只是我用来了解情况的一个例子。我要解决的真正问题包含 wav 音频文件 (Fs=44.1 KHz) 和载波频率 (Fc=100 KHz)。所以,Fs

谢谢,

【问题讨论】:

    标签: matlab carrier modulation


    【解决方案1】:

    如果您尝试在调制后绘制频谱,您应该设置 采样频率fs = 2*(fc + fsignal)。参见奈奎斯特 I 定理。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-13
      • 2017-02-23
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-07-31
      • 1970-01-01
      • 2012-01-04
      相关资源
      最近更新 更多