2008-07-01から1ヶ月間の記事一覧

FFTによるステレオ信号処理

先週末の実験結果をじっと考えています。 f(x) = FFT→周波数フィルタ→逆FFT という処理を行うとき、f(x)が線形で*1、かつim(x) = 0のときに im(f(x)) = 0 ならば*2、 f(x+jy) = f(x) + jf(y) になります。これを利用して、L R 両チャンネルに同じ信号処理を…

週末やったFFTによるフィルタの実験プログラム

とりあえず、プログラムだけ。 function yn=fftfilter(xn, blocksize) index = 1; zeropad = [1:blocksize] - [1:blocksize]; w = window( 'hn', blocksize ) [h, wfm, wfr] = wfir( 'lp', blocksize, [0.1 0.2], 'hn', [0 0]); hsp…

FFTによるフィルタの実験

FIRフィルタの演算量は、普通はタップ数Nに比例すると考えられています。ところが、視点を変えると演算量はサンプリング周波数Fsの2乗に比例します。つまり、48kHzサンプルから96kHzサンプルに変更すると、演算量は4倍になります。 なぜでしょうか。 この理…

夏休み

ふた月ほどRebunは休みます。こう暑くっちゃプローブを当てる気にもなりません。もうちょっと簡単な遊びに専念します。

障害物競走

いよいよSDRAM周りの信号をオシロで見ざるを得なくなりました。とはいえ、100MHzクロックの回路を見ることのできる高級オシロもFETプローブも持っていませんので、ターゲットの周波数を下げなければなりません。 かなりラディカルに周波数を下げることになる…

SCLKを下げてみた

SDRAMが応答しないので、システムクロック周波数を下げてみました。これはPLL_DIVレジスタでSSELフィールドに値を書き込むと、その値を分周比としてSCLKを変更できます。 TOPPERS/JSP for BF532では、この値は4になっています。つまり、CCLK = 400Mhzの1/4で…

SDRAMいまだ応答せず

SDRAMが応答しないRebun基板ですが、思い立ってEZ-KIT BF533上に同じプログラムを移植してみました。移植といっても簡単です。PizzaFactoryでBF533用の新しいプロジェクトを生成し、BF532からプログラムを丸ごとコピーするだけ。 試してみると、EZ-KIT BF533…

西谷隆夫の回顧録

chuckさんから「NECの西谷さんの書いた文書が公開されている」と教えていただきました。ありがとうございます。 西谷さんに関しては、信号処理に携わる人はもっと知るべきだと前々から思っていたのですが、紹介されている文章は、彼の研究者半生を振り返るだ…

SDRAMの動作がおかしい

PizzfactoryとCVSの同期もきちんと取れたので、書きかけだったSDRAMのチェックプログラムを書いてみました。OK、ちゃんとかけてる…と思えたのは、静的なデータの読み書きまで。動的なデータで試してみるとエラーの山です。 おかしい。プログラムを書き直しな…

サンプルプログラムの修正

PizzaFactoryがBF532に対応したのを受けて、サンプル・プログラムを修正しましたが、これに結構手間がかかりました。プログラム側の修正は簡単です。 新規のBF532サンプルプログラムを作る sample1.h, sample1.cを消す 以前のサンプルのソースとcfgファイル…

システム略称

jsp/doc/config.txtを読んでいて、これまでシステム略称を間違って設定していたことに気づきました。config.txtには (8) ターゲット識別マクロの定義cpu_defs.h ではプロセッサ略称(cpu_defs.h の置かれているディレクトリ名 を大文字にしたもの),sys_def…