2005-01-01から1年間の記事一覧

2005年を振り返る

年始に立てた目標の反省などを Blackfin TOPPERS/JSP C++対応 きちんとしたスレッド・セーフ・ライブラリ対応 C++に関しては当初の目的をクリアし、現在C++をRTOS上で走らせてDSPプログラミングを堪能しています。一方、スレッド・セーフ・ライブラリに関し…

1.4.2が出た

公式サイトで1.4.2のリリースがアナウンスされています。びっくり。1.4.1で終わりで、後は名前だけが公開されているTOPPERS/ASPに移行するのだと思っていました。 冬休みのネタがひとつ増えました。

エクステンダー届きました

年末大出血第一弾が届きました。Blackfin用Extender。長い道のりのまだまだ半ばにも至っていません。

組んでみた

SDR

かねてからの計画だったソフトウェア無線機の心臓部を組んでみました。信号系は以前考察したとおり(id:suikan:20051010)で、PPI部は実装せずにダミーの455KHz USB信号を入力します。 必要MISP数は思ったよりずっと大きくて100MIPS前後です。これは、EZ-KIT L…

バグ

デシメーターはタップ数に拠らず動作するように気をつけて作ったにもかかわらず、タップ数が奇数のときに問題が生じました。おかしいなぁと思ってよく見ると、不具合が出るのはFIRフィルタ部ではなく、先頭のコピー部でした。 こりゃうっかりだ。

変更

CVSに小さな変更を適用しました。 イベントのジャンプ先の名前変更 EVTからのジャンプ先のラベルはivXXhandlerでしたが、これをivXXEntryに変更しました。ITRONの割り込みハンドラと名前がぶつかって紛らわしいためです。実行コードの変更はありません。 読…

フリーシミュレーター

GPLベースのフリーのBlackfinシミュレーターです。 http://www.skyeye.org/index.shtml もともとはARMのシミュレータのようですが、最近Blackfinにも対応した模様。GDBのスタブとして働くので気楽に使えそうです。少しいじってみましょうか。

デシメーター

少し前に最適化方法を思いついたデシメーター(ダウンサンプラ)を実装しました。VisualDSP++のfir_decima_fr16()は1tap/cycleのFIRフィルタをコアに使っていますが、工夫して2tap/cycleのFIRフィルタを使いました。そのため倍速で走ります。一方で係数配列…

FPGA Extender

やっぱりFPGA ExtenderじゃなくてEZ-Extenderのほうがいいなと傾きつつあります。確かにバスバッファとか配線は面倒ですが、一方でたかがデコーダーとバスバッファにFPGAというのは大げさな気がします。

はてな

電子工作リングに参加しました。 #さ、会社行こう。

FPGA Extender

Analog DevicesのメルマガでFPGA EZ-Extenderが紹介されています。EZ-KIT Liteの拡張基板ですね。 FPGAは苦手なのですが、ちょっと調べてみました。 Xilinx Spartan 3 XC3S1000 2MB SRAM メモリバス、PPI, SPORT, SPI, TWI等を接続 $225 100万ゲートのFPGAで…

画像入力

私が主に遊んでいるのはオーディオ関係ですが、たまには画像で遊んでみたいですね。せっかくTOPPERS/JSPがあるのですから、面倒なDMAの処理を全部おっかぶせてしまえばそれほど難しくないのではないかと思っています。 たとえばフレーム間の差分をとって動体…

SIMD化デシメーター

VisualDSP++4.0のデシメーターは、SIMD化されていません。そこで頭をひねってSIMD化する方法を考え付きました。「Blackfin(ADSP‐BF533)活用ハンドブック―RISCマイコンとしても使えるDSP (DSP活用シリーズ)」の12章で説明されているマルチチャンネル化を行う…

455KHz AM受信機

ブロックダイアグラムを描いてみました。SISD実装として演算だけでおおよそ80MIPS。PLL抜きならこんなもんでしょうか。フィルタは無駄なタップまで放り込んでいますので、きつきつに設計しなおせばMIPSはもっと落ちるはずです。 ところでダウンサンプラってS…

SSB変復調ソフト

id:suikan:20051026に書いたSSB変復調ソフトが出来ました。書き間違いからくる誤動作にばかばかしいほど悩みましたが、動いてみればあっさりしたものです。必要MIPSが思いのほか大きいのですが、これは私のEZ-KIT LiteがRev 0.2シリコンを使っているためです…

例外

SSB変復調器はTOPPERS/JSP上に構築しています。で、ビルドして実行すると例外を発生して停止しています。よくよく調べてみると、タスクのスタックがオーバーフローしていました。デフォルトではタスクには256byteだか512byteしか割り付けません。ですのでち…

SSB変復調ソフト

2191用に作った複素信号処理によるSSB変復調実験回路をBlackfin用に書き直しています。 http://adsp2191.hp.infoseek.co.jp/2191/program/modem/modem08.shtml 本当の目標はAM受信機なのですが、手が進まないのでここを踏み台にしています。

オープンソース開発環境

VisualDSP++は便利なのですが、EZ-KIT Licenceの場合いくつか制約があります ターゲットがEZ-KIT Liteに限定される コードサイズが20KBを上限とする 前者は自分で何かハードを作ったときにデバッグ手段がありませんし、後者はTCP/IPネットワークが使えないこ…

とある会合に出席

プレゼンは私の番。散漫でまとめ切れなかったなと思いつつ発表しましたが、意外にも「よく系統立てられた発表だった」という評を受けました。この分野をまとめた文章が少ないなと改めて実感した次第。例によって夜の部になだれ込んであーでもないこーでもな…

L1命令SRAMへの書き込み

先日見つけたデバッグ文書を読みながら不審に思ったのは、L1命令SRAMへの書き込みパスが無いことです。通常のアプリケーションではL1命令SRAMへの書き込みはMDMA経由で行います。しかしデバッガがこれを使うとアプリケーションのMDMAを破壊してしまいます。 …

455KHz AM受信機

SDR

AM同期式受信機の構成を考えて見ます。市販のラジオキットのIFから信号を取り出すとして、信号周波数は455KHz。これはIFフィルタを通った後ですから、近接妨害も比較的取り除かれていて扱いやすい信号と期待できます。 サンプル周波数と第一局発 サンプル周…

V.N.ボトルネック

「グラフィックスの多くはメモリ効率だ。メモリを高効率に保つことが、成功へのカギとなる」 GPUもやっていることは信号処理ですから、ボトルネックとの戦いです。

ブートモード

ADSP-BF533のブートには、ブートとノーブートがあります。この二つ違いはなかなか説明が面倒なのですが、Windowsのアーカイブになぞらえると少しわかりやすくなります。 ブート ブート・イメージはWindowsのZIPファイルに相当します。ZIPファイルが単なるデ…

FIRフィルタ・クラス

涼しくなってきたのでプログラミングを再開したいのですが、今日は暑いですね。とにかく、FIRフィルタクラスをひとつ作ってみました。IIRフィルタのクラスとスーパークラスを共用して、後々手抜きが出来るようにがんばってます。とりあえずは、IIRフィルタ用…

フーリエ変換

Red cat の数学よもやま話にフーリエ変換の表現のバリエーションが説明されています。 フーリエ変換は積分後にかける係数とeのベキ部の符号によるバリエーションを持ちます。私見では積分後にかける係数は、パーシバルの定理をどのくらい重要視するかという…

BF本

Blackfin(ADSP‐BF533)活用ハンドブック―RISCマイコンとしても使えるDSP (DSP活用シリーズ)作者: 堀江誠一出版社/メーカー: CQ出版発売日: 2005/10メディア: 単行本 クリック: 11回この商品を含むブログ (3件) を見るBlackfin空挺団の掲示板にも情報が上がっ…

JTAG ICE

インターフェース誌の9月号にmini EZ-USBを使ったJTAG-ICEの記事がありました。ARM用ですがUSB接続で使いやすそうです。mini EZ-USBは3000円しないキットです。うらやましい限り。 こんなのがあるといいなぁと思いながら読んだ後、ふと検索をしてみると、な…

フーリエ変換

mimetexでの表現 \fs{4}F(\omega)={\Bigint}_{\fs{-2}-\infty}^{\fs{-2}+\infty}f(t)e^{\fs{-2}{-j{\omega}t}}dt もうちょっとジャギーの少ない出力にならないのかな。

余弦波群の重ね合わせ

基本波から初めて5倍高調波まで、10倍高調波まで…と重ねあわせを行ってみました。ツールはEXCELです。振幅は正規化してあります。20倍くらいまで重ね合わせてみると、この先インパルス列になっていくだろう事がわかります。不思議不思議。