Skip to content Skip to navigation

Connexions

You are here: Home » Content » Multirate Filtering: Implementation on TI TMS320C54x (日本語 - Japanese)

Navigation

Recently Viewed

This feature requires Javascript to be enabled.

Multirate Filtering: Implementation on TI TMS320C54x (日本語 - Japanese)

Module by: Douglas L. Jones, Swaroop Appadwedula, Matthew Berry, Mark Haun, Jake Janovetz, Michael Kramer, Dima Moussa, Daniel Sachs, Brian Wade, Patrick Frantz, Emiko Yamai, Hironori Takaryo, Yoji Yamada. E-mail the authors

Based on: Multirate Filtering: Implementation on TI TMS320C54x by Douglas L. Jones, Swaroop Appadwedula, Matthew Berry, Mark Haun, Jake Janovetz, Michael Kramer, Dima Moussa, Daniel Sachs, Brian Wade

User rating (How does the rating system work?)
Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

:
(0 ratings)

Summary: You will implement a multirate system that includes three fininte impulse response filters. The sample-rate compression and expansion factors can be controlled in real time using a MATLAB graphical user interface.

Note: Your browser may not currently support MathML. See our browser support page for additional details. You can always view the correct math in the PDF version.

インプリメンテーション

Multirate Processing: Introductionで示した全システムを実行する前に、サンプルレートコンプレッサーまたはエクスパンダー無しで、FIR1とFIR2と縦続したフィルターからなるシステムをデザインする事をお勧めします。その2つのフィルターシステムのレスポンスが正しい事を実証した後、完成したマルチレートシステムを実行し始め、全レスポンスを実証しなさい。初めに、 D=U=4 D U 4 という一定の圧縮因子と拡張因子を使いなさい。その後、この因子をMATLABインターフェースを使って制御します。コードを書く際、この事を覚えておいて下さい。

圧縮レート処理

低サンプルレートで処理を行うために、コード中にカウンター(計数回路)を実行してください。カウンターはいつ圧縮レート処理が生じるかを決定し、またいつサンプルレートエクスパンダーを実行するためにFIR3の中にゼロを挿入するかを決定するためにも使えます。

マルチレート構造を実行するために役に立つ命令のいくつかは、addm(add to memory:メモリーに加える)とbc(branch conditional:分岐条件)命令です。また、banz(branch on auxiliary register not zero:補助レジスタが0以外なら分岐)やb(branch:分岐)指示も役に立つでしょう。

実時間レート変化とMATLABインターフェース

簡単なグラフィカルユーザーインターフェース(GUI)は、シリアルポート経由でDSPに1から10の数を送る事が(ser_snd.mを要するmrategui.mとして)可能です。これは実時間に圧縮因子と拡張因子を変換するために使えます。

MATLABのプロンプトにmrateguiと打ちこみ、GUIを起動しなさい。図が自動的にスライダと共に開きます。 スライダを調節すると、DSPに送られた圧縮因子と拡張因子が変わります。

与えられたアセンブリコードは、DSPがholdと名づけられたメモリー中のコンピューターから受け取っている最後の数を保存します。そのため、あなたがその与えられたコードの連続部を変えない限り、この場所においては、GUIによってセットされた最後の圧縮因子と拡張因子を見つけられます。シリアルポートに新しい数が受信される度に、圧縮と拡張因子が変換されるためには、コードの修正が必要です。もし"1"がシリアルポートに受信されたら、その全システムは最大限のレートで稼動します。またもし"10"が受信されたら、そのシステムは低レートで処理された各サンプル間で9つのサンプルを捨てます。

シリアルポートからのデータ読み取りと、シリアルポートへのデータ送信に使用されるREADSERWRITSERマクロが、BKとコンディションフラッグTCと同程度に、AR0AR1AR2、そしてAR3レジスタを上書きする点に注意して下さい。そのため、これらのレジスタがあなたのコードに使われていないか、又はREADSERWRITSERマクロをコールする前に、メモリにそれらの値を保存または復活させているかを確認しなければなりません。これはmvdmmvmdの命令を使用して行うことができます。そのシリアルマクロはコールされる毎にAR1AR3をセットアップするので、そのマクロをコールする前にそれらのレジスタを変える必要はありません。

READSERWRITSERマクロに関する詳細は Core File: Serial Port Communication Between MATLAB and TI TMS320C54xにあります。

Content actions

Give Feedback:

E-mail the module authors | Rate module ( How does the rating system work?)

Rating system

Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

(0 ratings)

Download:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.

| A lens (?)

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks