前回はアンダーサンプリングでした。今回はCICフィルタです。途中までやりかけて気づきました。僅か2か月ほど前にCICフィルタやってました。年寄りの忘却力は強力。既に頭の中から抜けてました。前回とは目的は違いますがCICはCIC、でも微妙に記号など違っていたので「チョイ直し」でお茶を濁しますです。すみません。 “手習ひデジタル信号処理(51) SDR、「CICフィルタ再び」Scilabでgainplot” の続きを読む
手習ひデジタル信号処理(50) SDR、アンダーサンプリング、ナイキスト周波数より高い信号
前回、三上先生のサンプルプログラムで、甲子園中継が受信できたと喜びました。しかし1点疑問あり。サンプリング周波数は900kHz(ナイキスト周波数は450kHz)なのに、受信したNHK第1放送(東京)は594kHzです。なぜ受信できるの?ここで登場するのがアンダーサンプリングとBPF(バンド・パスフィルタ)です。 “手習ひデジタル信号処理(50) SDR、アンダーサンプリング、ナイキスト周波数より高い信号” の続きを読む
手習ひデジタル信号処理(49) SDRで高校野球、甲子園中継(NHK第1)受信OKよ
前回までに、Arm Cortex-M4コアのSTM32F446マイコンでの「ダイレクト・サンプリングSDR実験」用フロントエンド回路が出来上がりました。これからSDRのお勉強に入りますが、初回は早速AMラジオを受信してみます。なんたって三上先生のサンプルプログラムのバイナリがあるので、書き込めば動く筈。
手習ひデジタル信号処理(48) 続SDRの準備、RFフロントエンド部組み立て、振幅特性
前回は、ダイレクト・サンプリングSDRの準備として、全然RFでない最後の音声出力部分、HT82V739使ったスピーカアンプ回路を組み立てて動作確認しました。今回はRFに向き合う高周波アンプとバンドパスフィルタを組み立てます。まあAMラジオが対象なので526.5kHzから1620kHzですが、ともかくRFフロントエンド。
“手習ひデジタル信号処理(48) 続SDRの準備、RFフロントエンド部組み立て、振幅特性” の続きを読む
手習ひデジタル信号処理(47) 新シリーズSDRの準備はスピーカアンプ回路の組み立てから
前回で工学社『「Armマイコン」プログラムで学ぶデジタル信号処理』を読み終わりました(読んでも直ぐに忘却力を発揮する年寄りです。)「その先」ということでCQ出版社『Armマイコンでつくるダイレクト・サンプリングSDR』を読み始めようという魂胆です。同じ三上先生の御本、そしてNucleo-F446ボードで実験できるもの。
手習ひデジタル信号処理(46) FFTによるFIRフィルタ、外からみたら結果は同じ
今回はFFT使ったFIRフィルタです。以前に「普通に時間領域」でFIRフィルタしていたもの。今回は、入力信号もフィルタ係数もFFTをかけて周波数領域で乗算してから、逆FFTで時間領域の信号に戻すのだ、と。無限の長さの入出力信号を小分けにするためには重複保持法使うんだとか。しかしオンラインコンパイラの件気になるのデス。
手習ひデジタル信号処理(45) 適応線スペクトル強調器、実験用入力信号フィルタしたら見違えた
前回、前々回と適応線スペクトル強調器のサンプルプログラムを動かしていて「波形が不安定」とか「ステップ・サイズ・パラメータも安定せんな~」と気にかかっておったのです。その原因として心に引っかかっていたのが入力波形です。ノイズを「盛る」べく制限波に乱数を重ねているのですが、強調器のナイキスト周波数越えのノイズまで山盛り。
“手習ひデジタル信号処理(45) 適応線スペクトル強調器、実験用入力信号フィルタしたら見違えた” の続きを読む
手習ひデジタル信号処理(44) 適応線スペクトル強調器、学習同定法+Leaky LMS版とな
前回、適応フィルタの応用とてALE(Adaptive Line Enhancer)、適応線スペクトル強調器なるものを動かしてみました。まあサンプルプログラムを動かしてみるだけなら簡単っと。今回はさらに「学習同定法」というものが登場し、信号の大きさに応じてパラメータを変化させるのだ、と。ううむ、どんどんムツカシクなっている気がするのだけれど。。。やるしかない。
手習ひデジタル信号処理(43) 適応線スペクトル強調器(ALE)、LMSアルゴリズム版とな
ALEというと、私の心の中では40年以上前から不動のAddress Latch Enableであります。しかし今回は、Adaptive Line Enhancer、適応線スペクトル強調器なんであります。適応フィルタの応用であります。信号処理素人の私にとっては適応と聞いただけで恐れいってしまうのですが。大丈夫か。
手習ひデジタル信号処理(42) アップサンプリング処理をOctaveしてみる
前回まではダウンサンプリング処理でした。今回アップサンプリングに入るのですが、新たな実習用のサンプルプログラムはありません。毎度お世話になっているDA変換による出力処理のところで4倍アップサンプリングしてきたからです。仕方がないので珍しくOctaveを取り出してきて4倍のアップサンプリング処理をやってお茶を濁した、と。
手習ひデジタル信号処理(41) CICフィルタ使ったデシメータ利用狭帯域フィルタその2
前回は教科書のプログラムをそのまま実機STM32F446REマイコン上に実装、CICフィルタのON/OFFでどのような特性になるのか観察いたしました。今回はそのCICフィルタの振幅特性をScilabを使って計算してみたいと思います。前回使用したCICフィルタは3段の継続接続であったので、1段から3段まで比較してみます。
手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1
デシメーションというのは古代ローマの恐ろしい刑罰にその名を発するようです。長い歴史の中でも実例はそれほど多くないみたいです。しかしデジタル信号処理業界?ソフトウエア無線などではすこぶる頻繁にお目にかかります。サンプリング周波数を低い方に変更するダウンサンプリングとそれに伴う低域通過フィルタ処理を行うもの。
手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2
前回、白色雑音(ホワイトノイズ)の生成に使うLFSR(Liner Feedback Shift Register)を「わざわざ」ゲートレベルの回路図でシミュレーション。LTspice使う荒業?です。今回は三上先生のプログラムを実機STM32マイコン上で動作させてみます。Cで書けばLFSRなど何ということもない?
手習ひデジタル信号処理(38) M系列信号を使う白色雑音の発生その1
今回から白色雑音(ホワイトノイズ)の発生に入ります。ちょっと問題だったのは手元にゲートレベルの「回路図」から論理シミュレーションする環境が無かったという件。今時「回路図」書いて「論理」でもないものな~。しかたがないのでアナログシミュレータのLTspiceで論理シミュレーションしてしまいました。出来るのですがクセが強い。