DSP で WEAVER の方式で SSB をつくる
JA1VCW
2003/04/03

1

初めに
先日過去の HAM Journal を見ていたら Weaver 方式 (第３の方式)SSB という記事 [?] が目に付いた。思い起こせば 30 有余年前、高校の先輩が硬い灰色の表紙の SSB ハンドブックを手に”俺は第 3 の方式で SSB を作る”とはりきっておられたのを思い出す。 アルミシャーシの中になにやらコアに巻いたコイルがあった。今から思うと LPF であったのであろう。

当時は SSB もまともに知らなかったころであった。
当時のハンドブックは、VHF ハンドブック、アンテナハンドブック、SSB ハンドブックなどがあって、カバーを取り去ると灰色の硬めの表紙であった。現在前 2 者は所有しているが、最後のものは残念ながら持っていない。
昔話はさておき、HJ を読むとこれは筆者田口氏のおっしゃるとおり DSP に適当である。何しろ平衡変調 2 組とローパスフィルタ 2 個があればよいのであるから事は簡単である。と言うのが今回の遊びの始まり。
方式は HJ を読んでいただければ、田口氏が懇切丁寧に解説いただいているので私の出る幕ではない……がまあさわりだけ。
ブロック図は次のようになる。

1. AF 信号をローパスフィルタ (AFLPF) で 3kHz の帯域に狭める。
2. 90 度位相のずれたサブキャリアで平衡変調を行う。 サブキャリアは AF 信号の帯域の約 21 の周波数である。従って完全に帯域内にある。
3. サブキャリアの周波数のローパスフィルタ (LPF) を通す。
4. もう一度 90 度位相のずれたサブキャリアで平衡変調を行ったのち、加算する。ここで SSB が発生される。
この手の位相方式は、PSN、本方式ともに一つの側波帯に対して反対側の側波帯の位相を、同相、逆相として発生させ、それらを加算または減算して一方の側波帯をなくすと言う方法を取る。
この反対側の側波帯の位相の同相/逆相を作るために、PSN では AF の 90 度シフタが必要であり、本方式ではこのように巧妙な方法で行っている。

1

2

この方式の長所、短所についてこの方式について良いと思われることは、

1. 高価なフィルタが不要• 今時ジャンク以外で良好な SSB 用フィルタが容易に入手できますか？。オークションなどで一所懸命になって探さないといけない。あっても 20 年前のメカフィルか XF がいいところ。
2. 技術的に困難な、広帯域９０度位相シフタが不要• AFPSN には苦労するお話を聞きます (すみません私は経験がありません)。PPPSN はどこをどう調整したら良いかわからないし、ALLPath はポールの周波数をあわせるのが大変そう。
3. サイドバンドサプレッションが悪くなっても、占有帯域が広がらない• 原理から分かるように、LSB と USB が重なっている。だから不要サイドバンドがもれても音が悪くなるだけ。もっとも、不要サイドバンドが− 40dB はそんなに難しいことはな
いと思うけれど、3 次歪みを− 40dB にするのは大変でしょう。
4. 占有帯域幅が比較的自由に設定できる• サブキャリアと LPF の関係をうまく選択すると広い占有帯域が選択できるし、そのために派生する問題はない。
一方困難と思われることとして

1. 平衡変調”1”(BM1) のキャリア抑圧度が低いと、受信時に約 3kHz のビートが発生する場合がある

• 発振器 2 個の、温度変化と経時変化を含めて管理しないといけない。90 度はデジタルで作ればよいが、振幅は管理が必要。キャリアを聞こえない位抑圧するのは最低でも-60dB 必
要。フィルタ無しでこれを実現しないといけない。
2. 平衡変調”2”(BM2) のキャリア抑圧度が低いと、受信時に 1.5kHz 程度 (BM1 の周波数) のビートが発生する• 1. と同様のことがいえる。
3. LPF の特性がサイドバンドサプレッションに影響する。
必要

2 個の LPF はきわめて等しい特性が• LPF の出力を変調した後に不要なサイドバンドを減算して消し去るため、LPF 帯域内の振幅誤差がサイドバンドサプレッションに影響する。(PSN タイプも同様ではある)。 2 個のフィルタの特性のマッチングがリップルなどを含めて 1
4. 調整個所が多くなる可能性がある• BM1A、BM1B、BM2A、BM2B、それぞれの振幅と位相を合わせないといけないが、アナログ SW などを使用した場合でも、最低で上記 4 箇所の振幅調整、および BM2A、BM2Bの加算の振幅調整と位相調整の合計 6 箇所の調整が必要で、且つそれらは温度、経時ともに安定でないといけない。
PSN タイプでは平衡変調が 1 組あるが、長時間安定な動作をさせることは難しいという。 ましてや 2 組を安定に動作させ、LPF のトラッキングも考えておかないといけないことになると、ハードウェ
アで実現することはかなり困難を伴うのではないかと考える。
ここで DSP による実現を考えると
1. 理想的な平衡変調が可能である。不平衡の要素は計算誤差でありサプレッションは通常ノイズに埋もれる程度はとれる。平衡変調の位相特性、振幅特性などの考慮は不要。
2. 2 個の LPF は係数として同一なものを使用するので、同一形状のフィルタ特性が得られる。誤差は計算誤差である。
3. 安定度については、A/D、D/A 以外は経時変化、温度変化は皆無である。ということでまことに都合がよい。但し、AIC(Analog interface Curcuit: DSP のアナログ入出力、A/D，D/A、タイミング発生などを含んだ IC の TI 社の機能名称) の関係で SSB の発生がオーディオ帯域になってしまうので、(今回は 3kHz から 6kHz までのＳＳＢ信号である) 実際に送信機に接続するときにそれなりの工夫が必要となる。これらは以前の拙稿を参照のこと。

3

設計について設計と言うほど大袈裟ではないが、次の順序でおこなった。

1. 全体の仕様の決定• ただしいろいろな制限があとからでてくるので、どの点で妥協するかで仕様が変化する場合がある。
2. サブキャリア、およびキャリアの周波数の決定• 10MH ｚから分周して、A/D,D/A のサンプリングクロック、送信フィルタ、受信フィルタ、サブキャリア、キャリア、これらを都合よく満足する周波数の設定が必要がある。
3. 平衡変調 1 の後の LPF(今後単に LPF と言う) の設計• お定まりのフィルタ設計ソフトを使用したフィルタの作成。
4. AF の LPF
• 同上

3.1

全体の仕様

最初の仕様 (まあ一般的なところで)• -3dB の帯域幅 : 300Hz〜2800Hz• -60dB の帯域幅 : 100Hz〜3000Hz• サイドバンドサプレッション : -55dB min.

3.2

サブキャリア、およびキャリアの周波数の決定

TI 社の DSP キットを使用するためによる制限であり、その制限内で決定する。
1. A/D、D/A サンプリング周波数 : 約 20kHz• AIC のサンプリングが最大 20kHz でありそれに近い方がよい。10MHz を分周するのであ1= 19.841kHz とする。
るから、 504
2. 受信フィルタクロック周波数 : < 約 288kHz• AIC のフィルタのサンプリングが 288kHz のときに、帯域が 300Hz から 3.4kHz となる。できれば 2.8kHz あたりからロールオフしたいので、2.8kHz/3.4kHz ＊ 288kHz=237kHz あたりが望ましい。実際は 10MHz/2/21/12=238kHz

3. 送信フィルタクロック周波数 : < 約 800kHz• 10MHz/2/6 ＝ 833kHz。3.4kHz×(833kHz/288kHz) ＝ 9.834kHz から減衰し始める。
4. サブキャリア周波数 : 21 × 帯域幅

• サブキャリアの 2 倍までが通過帯域になる。90 度位相差の 2 つのクロックを作らないといけないので、キャリアをさらに分周して作ることになる。帯域幅が約 3kHz なので 1.5kHz近くの周波数が良い。A/D サンプリングクロック周波数の 1/12 として、1.653kHz とする。
なお、90 度の位相差を作るために、サンプリングクロックを図のように使用する。1/12 するのでサンプリングクロックが 12 個でサブキャリア 1 周期となればよい。プログラムで 12進カウンタを作って、カウント値が 0,3,6,9 になったときに OSC1A,OSC1B に変化を与えれば達成される。変調は先回 PSN タイプの発生器で使用した方法なのでそちらを参考されたい。

5. キャリア周波数 : 12 ×A/D サンプリングクロック周波数• キャリアはこれも 90 度の位相差が必要になるので、A/D サンプリングクロック周波数の1/4 とする。周波数は 4.960kHz となる。

3.3

LPF

どのような周波数関係になっているかを観察して LPF の必要事項を考える。
・周波数関係実際の周波数は中途半端な値なので、適当に丸めた。SSB だと 10Hz が問題になるが、ここではイメージで書いてある。

ここでは平衡変調 1 の後の LPF は図では 200Hz でロールオフするようにしてあるが、もっと低域を伸ばしたい場合は、LPF の周波数を上げてしまう。また、LPF の特性が実現できない場合も同じよ
うに LPF のロールオフを悪くしても良い。

但し、下図のようにアッパー側の低域がフィルタ内に入り込まないようにあらかじめカットしておかないといけない。このことは低域を伸ばしたいことと矛盾する。LPF の特性をよくするほかにはよい逃げ手が浮かばない。

今回 AIC の内部の BPF で約 250Hz 以下はカットされるので、この部分を図のように設定した。

1.4kHz と 1.8kHz の数値の根拠は、BPF の 250Hz のカットオフなのでそれと同等にしたことと、このくらいのロールオフだったら可能であろうという見当である。

少し桁数の多い周波数値

1. サンプリングクロック周波数 : 10MHz÷2÷252=19.8412kHz
2. サブキャリア周波数 : サンプリングクロック ÷12=1.65344kHz
3. キャリア周波数 : サンプリングクロック ÷4=4.96032kHz
4. AF1kHz のときの SSB 周波数 : キャリア−サブキャリア +AF=4.96032−1.65344+1=4.30688kHz(USBのとき)
最後にコンピュータスペアナの結果をつけた。

3.4

周波数は合っている。

設計した LPF の理論値

設計値を FIR フィルタを設計するプログラムに計算させ、その係数をエクセルにいれてふたたびフィルタの形状を表示させた。多少のカット＆トライをおこなってこの辺ということできめた。

4プログラミング
プログラミングについては平衡変調２組とフィルタ２個を作れば良いのであるから、いままで作ったプログラム（PSN がよい）を編集すればできてしまう。フィルタは 151 タップの FIR フィルタである。この 151 タップというのもいままで使用していたからというだけで、最適化しているわけでもない。

5試作結果
コンピュータスペアナの測定結果を示す。(後出)

1. 帯域はほぼ満足できているし、サイドバンドサプレッションも問題ない。
2. サイドバンドサプレッションは帯域内にスプリアスになるが、今のところのノイズベルより大きいものは認められない。

3. キャリアのもれは、オーディオを絞ってノイズフロアを受信したとき良く聞けば気が付くといったレベルである。マイクをつないでしまえば、まったくその他のノイズにうもれてしまう。スペアナでも観測されない。

6

感想
1. ハードウェアだとかなり大掛かりな発生器を、簡単に作ることができた (プログラム作成所要時間約 1 週間)。今時なんでということもあるが、冒頭に述べたノスタルジックな気分と興味である。
2. 151 タップの FIR フィルタを 2 種類 (AF,LPF) 使用しているが、この程度のフィルタだとバンドパスフィルタを作ればフィルタ・タイプのジェネレータができあがってしまう。わざわざ本方式を持ってくる必要はない。
3. 理論的には優れたアイディアであると思うが、ハードウェアで実現するのには不安定なパラメータが多く難しいと考える。そのあたりが普及しなかった原因だともおもう。ハードでチャレンジされた方もおられると思うが、良い性能を出すのはたいへんだったのではないかと想像する。
DSP ではできて当たり前の処理になってしまうので、できて当たり前である。
4. 性能のすぐれた発生器 (帯域を広く取って、且つ帯域外を急峻に減衰させる) を作るためには、低域を十分出す様にしたいが、低域の特性を LPF が決めているという奇妙な方式のため、急峻なフィルタを用いサブキャリアの近くまでカットオフの周波数を近づけることが必要である。急峻なフィルタの使用は避け難い。
5. フィルタは FIR フィルタを使用しているので、フィルタでの群遅延の乱れは無い。しかし A/D変換器の前に入っているバンドパスフィルタのエッジで大きく乱れる。ただしこれが音質にどのように影響するか良く分からない。

6. 当初、AF の LPF を省略していたら 3.4 項のエリアシングが激しく、最初は理由がまったくわからなくて困った。信号処理に慣れていない証拠である。サンプリング (離散化) を行うとエリアシングが発生するということはどの本にもかならず書いてあるのに……なさけない。また、HJ83の内容でサブキャリアの発生に際して矩形波でサンプリングするのでなく、1:2 の時間比で 180度ずれた AF 波形をサンプリングしている。この理由は、この方法だと 4 次までの高調波を除去することができるそうである [?]。そうだとエリアシングの問題が解決されるかも ([?] の内容は難しく、浅学にして良く理解できない)。いずれ実験してみたいもののひとつ。もっともシミュレーションはエクセルなどで簡単にできそうである。暇なときに考えよう。

7. DSP のキット使用に際して、現在のこのキットはちょっと不満である。もし DSP のキットの内容が・・・• A/D、D/A 変換器が 16 ビット• A/D、D/A のサンプリング周波数が 60kHz 以上• 内部に書き換え可能な ROM 内蔵• A/D、D/A のサンプリングクロック、フィルタクロックが任意に変えられるような DDS
内蔵このようなキットがあればたいへん楽しいと思うが、ちょっと無理でしょう。アナログデバイゼ
ズの EZ-kit がどのようなものか知らないが、まあもう変更する気もないので特に調査しない。

8. DSP を使用して 3 種類の違った方式で SSB 発生器を作ってみたが、結局• 黒い小さいチップのなかでデータをどのように動かそうと最終的なものはあまり代わり映えがしないものが出てくるような気がする。DSP ではマイクと使用者本人が変わらなければ同じような音になる。方式の違いは帯域の違になることが大きいが、それは補正できる。
• 測定器によって測った性能は少なくともジェネレータのみに限って云えば、はっきりいってかなり良い。キャリアもれだのサイドバンドもれなど無縁。群遅延の影響は設計方法によっては皆無にできそう。メーカがクリスタルフィルタ、メカフィルなどという高価な部品を使いたがらなくなるのも良く理解できる。あとは好みの世界になるか。 DSP の嫌いなひと、こだわらないひと等いろいろ。一昔前のレコード/CD の関係みたい。私はどうかというと、どちらでもいいや (それぞれに捨て難い魅力があってそれなりの技術力が必要なので、いじってみたら皆おもしろそうだということ)。

参考文献[1] 田口 一 : Weaver 方式 SSB ジェネレータの製作 (HAM Journal No.83/1993 年 1,2 月)[2] 小林 芳直 : メリゴ方式の改良案 (HAM Journal No.87/1993 年 9,10 月)[3] 大昔の SSB ハンドブック : 昭和 36 年ころ〜昭和 44 年ころの版に掲載されていたと記憶している。昭和 44 年の新版の SSB ハンドブックにはブロック図と簡単な説明のみ (8 行) が掲載されていました。