0

Fc=10 KHz の搬送波を Fm = 200 Hz (時間領域で 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 << Fc という事実から生じます。

そのため、キャリアの FT を間違えます。

これを修正する方法を教えてください。

注: これは、状況を理解するために使用した単なる例です。私が解決しようとしている実際の問題には、wav オーディオ ファイル (Fs=44.1 KHz) と Carrier Freq (Fc=100 KHz) が含まれています。つまり、Fs << Fc であり、私にはどうすることもできません。

ありがとう、

4

1 に答える 1

0

変調後のスペクトルをプロットしようとしている場合は、サンプル周波数を設定する必要がありますfs = 2*(fc + fsignal)。ナイキスト I の定理を参照してください。

たぶん、あなたはキャリアの周りのスペクトルを見ようとしていますか? ハイサンプリングなし?zoom-fft を使用して、ナイキスト II の定理を使用できます。

于 2015-12-11T13:08:43.903 に答える