• 本当は、田舎に庵を建てて隠遁生活したいけど、先立つものも無いので自宅で..。

【Qucs】time2freq関数の使い方

DC受信機のシミュレーションをしようとしてtime2freq関数を使って見たけど、使い方に少し迷ったので今後のためにメモっておく。

離散的フーリエ変換では飛び飛びのスペクトルが求められるけど、シミュレーション時間とスペクトルの間隔との間に一定の関係がある。

スペクトルの周波数は、

$$f_{k} = \frac{f_{s}} {N}\times k,  k = 0, 1, … , \frac{N} {2}$$
$$f_{k} : kに対応する周波数、f_{s} : サンプリング周波数、 N : 計算に使うデータ数$$

Qucsでは、サンプリング周波数は、
$$f_{s} = \frac{ポイント数} {シミュレーション時間} となる。$$
N=ポイント数なので、スペクトルの間隔は、
$$スペクトルの間隔 = \frac{f_{s}} {N} = \frac{1} {シミュレーション時間} となる。$$
今、DC受信機で、信号周波数7MHz、局発周波数7.001MHzの場合をシミュレーションすると考えると、ミキサーで発生するのは、1kHzと14.001MHzの信号になる。 

1kHzの信号を検出するためには、スペクトルの間隔が1kHz以下の必要がある。 スペクトルの間隔を0.5kHzにすると、シミュレーション時間は2msが必となる。 また、14MHzの信号を検出するために15MHzまでのスペクトルを取得するばあい、ポイント数は15MHz/0.5kHz*2が必要となる。

この条件でシミュレーションしてみた。

スペクトルは、1kHzと14.001MHzが表示されている。

時間軸のグラフもOutが1kHzで、In1、In2が7MHzが表示されている。
7MHzの表示はポイント数が少ないので、正弦波の波形が滑らかになっていない。

7MHzの波形を滑らかにするために、ポイント数を適当に増加させてみた。

time2freq関数は、測定条件を適切に選ばないと、エイリアスなのか、あり得ないところにスペクトルが発生することがあるので、使用する場合には注意が必要。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA