質問:
CW用のSDRを構成しますか?
hotpaw2
2014-02-14 03:31:38 UTC
view on stackexchange narkive permalink

だから私は自分のSDRソフトウェアを最初から開発しています(私はコードを「所有」するのが好きです)。 RF-to-USBハードウェアとソフトウェア間のチャネルは、192kHzのサンプルレートのIQオーディオサンプルです。自由度には、少なくとも4つの周波数と1つのスイッチが含まれているようです。 4つの周波数は、RFフィルター周波数、外部チューナー基準発振器周波数、ソフトウェア複合乗算発振器周波数、ソフトウェアバンドパスフィルター中心周波数(フィルター帯域幅も)です。次に、オーディオ出力用にI、Q、I + Q、I-Q、またはabs(I、Q)から選択します。次に、オーディオ出力APIに一致するように、必要に応じてリサンプリングします。

したがって、1番目の周波数(フロントエンドRFフィルター)を対象のHF帯域に設定し、2番目のHF基準発振器をCWの中央に設定するとします。 HF帯。ここで、HF基準発振器から12.500kHz上にあるQSOを見つけ、結果として得られるモールス信号のオーディオ側のトーン周波数を750Hzにしたいとします。

複素数乗算のソフトウェアオシレーター周波数をどこに設定し、ソフトウェアバンドパスフィルターの中心周波数でモールス信号を目的のサイドトーンで聞くにはどうすればよいですか? (2つの選択肢がありますか?ある場合、どのように選択しますか?)オーディオスピーカーに供給するためにどの最終IQマルチプレクサ出力を選択しますか?

IとQを別々に入手できますか?それとも、どちらか一方、合計、差、または絶対値ですか?
はい、IとQは別々の(ステレオ)オーディオチャンネルにあり、ソフトウェアオシレーターとの複雑な乗算の前および/または後に別々にフィルタリングできます。次に、ソフトウェアマルチプレクサ(Cスイッチステートメント)は、I、Q、I + Q、I-Q、またはsqrt(I * I + Q * Q)から選択して、オーディオ出力処理ブロックに供給することができます。
このようなSDRの質問をもっとお願いします!あまりにも多くのハムが、「SDR、ああ...普通のラジオのように見えるが、私のコンピューター上にあるそのアプリ?」と考えています。それらがどのように*機能*し、どのように*作成*できるかについての質問を見たいです。
二 答え:
Phil Frost - W8II
2014-02-14 03:51:49 UTC
view on stackexchange narkive permalink

SDRにCW受信機を実装することは、SSB受信機を実装することとほとんど同じです。

RFビットを目的の帯域に調整します。

次に、乗算します。希望するピッチであれば、受信したいCW信号が750HzになるようにI / Q信号を送信します。

次に、フィルタリングする必要があります。 2つの理由があります。明らかな理由:あなたはバンドのすべてを聞きたくないのです。ただし、I / Qデータには正と負の両方の周波数が含まれています。周波数0は、LO周波数(および上記の乗算ステップで導入したシフト)に対応します。負の周波数はそれより下で、正の周波数は上です。これらの負の周波数は、不要または不要なLSB側波帯に対応しているため、ある時点で取り除く必要があります。

フィルタリングすると、すべての負の周波数は次のようになります。フィルタの阻止帯域によって減衰されます。これで、I、Qだけ、I + Q、またはI-Q(それぞれの違いは位相のみ)を取得できます。聞こえるのは、すべての正の周波数とすべての負の周波数です。ただし、負の周波数をフィルターで除去したため、実際には正の周波数だけが聞こえます。

これとUSBレシーバーの唯一の違いは、フィルターの幅です。 LSBレシーバーにしたい場合は、フィルターの通過帯域を負の周波数に移動するだけです。

例については、この OZ9AECによるGNURadioCompanionの例を参照してください。 a>。 GNU Radio Companionは、グラフィカルなフローチャートでプログラムされているため、例として適しています。その記事の1つは次のとおりです:

SSB receiver in GRC

その時点でのデータを視覚化するためだけのグラフィカルUI要素である FFTシンクがいくつかあります。 USRPソースは彼の特定のハードウェアを構成します。 Frequency Xlating FIR filter は、データをさらにリサンプリングしながら、乗算ステップを実行します(USRPのサンプルレートは非常に高くなっています)。次に、バンドパスフィルターがあり、彼はいくつかの自動ゲインを追加しました。 Rational Resampler は、データを再度リサンプリングして、オーディオサンプルレートに下げます。 Complex to Real Q を破棄し、 I だけを提供します。最後の乗数はボリュームコントロールで、スピーカーに送られます。

また、よく見ると、バンドパスフィルターのカットオフ周波数は負です。構成されているように、これはLSBレシーバーです。それらをポジティブで狭くして、CWレシーバーを手に入れましょう。

明確にするために、CWQSOがLOから12.500kHz上にあり、750 Hzのサイドトーンが必要な場合は、最初にIチャネルとQチャネルの両方から12.4 KHz未満のものをフィルターで除去し、次に(12.5-0.75)または(12.5 + 0.75)kHzで希望のサイドトーンを取得しますか?
@hotpaw2に(-12.5 + 0.75)を掛けます。また、通常は(どちらの方法でも機能しますが)乗算した後のフィルター処理が簡単です。これは、どこで調整しても、フィルターの通過帯域が同じ周波数になるためです。プログラムで渡す変数が少なくなります。
@hotpaw2いいえ、Qを破棄して実数に変換する*前に*複素数データをフィルタリングする必要があります。そうしないと、750Hzと-750Hzの両方が聞こえます。 I / Qフィルターは、Iのフィルター、Qのフィルターだけではありません。複素数の演算が必要であり、両方のチャネルを1つとして扱う必要があります。 1つのチャネルだけを個別に操作しようとすると、すべての負の周波数を正の周波数にエイリアスしますが、これは通常は必要なことではありません。
@hotpaw2の別の考え方は、これです。単純な乗法ミキサー(IQミキサーではない)が和と差の周波数成分を生成します。 Iだけ、またはQだけを見ると、これら2つの画像(合計と差)があります。 IとQの両方を持っていると、画像を拒否できます。 SDRのウォーターフォールを監視し、チャネルの1つだけを抜くと、私が何を意味するかがわかります。
それで、IQデータで750 Hzを中心とする複雑な算術フィルターを使用してから、Qチャネルを破棄しますか?
@hotpaw2はい。上記の例では、青いポートは複雑な(IQ)データを受け入れ/生成します。オレンジ色のポートは実際のデータです。これらの操作はいずれも線形ではないため、ステップの順序は重要です。
ベースバンド(つまり、上記の周波数変換ブロックの後)では、スペクトルの中心はゼロ(DC)に対応します。これは、周波数変換前は中心のバンドパス周波数でした。したがって、「負の」周波数は単に中央のバンドパス周波数より下にある周波数であり、「正の」周波数は上にある周波数です。どちらも聞こえます。どちらもIとQの両方に含まれています。ただし、CWまたはSSBの変調に関心がある場合は、不要な側を除外する必要があります。
user2338215
2014-06-13 03:02:23 UTC
view on stackexchange narkive permalink

私のアプリ「iSDR」では、Kevin Jの「信号処理と高速フーリエ変換(FFT)の概要」を使用して、本、より正確にはでSDRにアプローチしました。 .McGeeおよび Steven W. Smith、Ph.D。による「TheScientist and Engineer's Guide to Digital SignalProcessing」(オンラインで無料で入手可能)。古いQSTシリーズGeraldYoungbloodによる「ASoftware-DefinedRadio for the Masses」パート1〜4、AC5OGというタイトルの記事も非常に役に立ちました。上記のすべてから少しずつ取り出して、iSDRはCW受信を次のように実装します。 。

ベースバンドのI信号とQ信号は、複素FFTの両側に1つずつ供給されます。次に、FFTの結果がシフトされ、目的の中心周波数ビン(CWオフセットを差し引いたもの)がゼロ位置(DC)になります。 )次に、事前に計算された周波数ドメインsinc(レンガ壁)フィルターがFFTのコンテンツに適用され、逆FFT関数が適用されて、時間ドメインがシフトされ、フィルター処理されたオーディオが返されます。

でフィルタリングを行うほとんどの計算は事前に実行されるため、周波数領域は非常に効率的です。したがって、このアプローチにより、古いApple iPod touchの第2世代デバイスでも、CW、SSB、およびAM信号を復調するという説得力のある(最適ではない場合)ジョブを実行できました。 CW信号は、IとQを追加でマッサージすることなく、上記のアプローチから「すぐに外れる」ため、CWが最も単純です。

2番目の段落で使用されている用語のいずれかが数学的な意味不明な言葉のように聞こえる場合は、最初の段落の参照を見てください。計算は簡単ではありませんが、非常に強力です。 2番目の段落で説明されているいくつかの手順により、非常にシャープでクリアなレシーバーが得られます。 iSDRは、100 Hzまでの非常に使いやすいCWフィルターを提供し、対象の信号を中心にすることが課題になることを除いて、簡単に狭くすることができます。



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...