[英]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.