ディジタルフィルターの実験
今度はバンドリジェクション。サンプリング周波数は40 kHz、帯域は1 kHz~3 kHz、ハミング窓にした。これで一通り確認できたことになる。 ファイル一式: https://github.com/ti-nspire/VHDL_for_Quartus_Prime/tree/main/fir_filter_Band_Rejection ↓ こんな…
今度はハイパスを試す。サンプリング周波数は40 kHz、カットオフは5 kHzにした。 ファイル一式: https://github.com/ti-nspire/VHDL_for_Quartus_Prime/tree/main/fir_filter_Hi_Pass ↓ こんな特性になるはずである(5 kHz / 40 kHz = 0.125)。 ↓ 実測結果:
前回は単純な移動平均でローパスフィルターを実現したが、今度はもう少しちゃんと計算した係数でバンドパスフィルターを構成してみる。 フィルタータイプはバンドパス、 係数は16ビット幅、 タップ数は101、 サンプリング周波数は40 kHz、 帯域は1 kHz~3 kH…
参考: FIR Filter (VHDL) - Logic - Engineering and Component Solution Forum - TechForum │ Digi-Key 上の記事にあるFIRフィルターモジュールを使う。オーバーフローしないようにビット拡張をしてから定義どおりに積和演算をしているだけである。ただし乗…
import scipy.signal import numpy as np """ 構文: scipy.signal.firwin(numtaps, cutoff, width=None, window='hamming', pass_zero=True, scale=True, nyq=None, fs=None) pass_zero: True, False, 'bandpass', 'lowpass', 'highpass', 'bandstop' window…
参考: はじめてのDSP活用大全―開発環境の用意から事例研究まで (ディジタル信号処理シリーズ), pp.155-160 ここでは帯域幅という考えかたはなく、パラメーターはセンター周波数fcのみである。fc = 0にすればローパス、fc = fs/2にすればハイパスといった具合…
Python scipy.signal.firwin()函数 scipy.signal.firwin — SciPy v1.7.1 Manual import scipy.signal """ 構文: scipy.signal.firwin(numtaps, cutoff, width=None, window='hamming', pass_zero=True, scale=True, nyq=None, fs=None) pass_zero: True, Fal…
「Digi-Key TechForum掲載のSPIマスターモジュール / DAコンバーターMCP4911を動かす -」の続き ADコンバーターMCP3001とDAコンバーターMCP4911とを同時に動かす。ここでは、AD変換した値を何もせずにDA変換して出力する。 ファイル一式: VHDL_for_Quartus_P…
Digi-Key TechForum掲載のSPIマスターモジュール / ADコンバーターMCP3001で変換してR-2R DACで元に戻す -のつづき ファイル一式: VHDL_for_Quartus_Prime/da_converter_MCP4911_spi at main · ti-nspire/VHDL_for_Quartus_Prime · GitHub 今度はDAコンバー…
Digi-Key TechForum掲載のSPIマスターモジュール / ADコンバーターMCP3001を動かす -のつづき 今度は前回のLEDの代わりにR-2R方式のDAコンバーターでDA変換する。Bourns社の4610X-R2R-103LFを使う。R = 10 kΩ、2R = 20 kΩである。8ビットぶんしかないので、1…
Digi-Key TechForum掲載のSPIマスターモジュール / ポテンショメーターAD8402ARZ50を動かす -のつづき 今度はADコンバーターMCP3001を動かす。逐次比較型、1チャンネル、10ビット、外部リファレンス、SPIのADコンバーターである。VDD = VREF = 2.7 Vのとき、…
参考: SPI Master (VHDL) - Logic - Engineering and Component Solution Forum - TechForum │ Digi-Key 上のリンクに紹介されているSPIマスターを試してみる。 非公式訳: SPIマスター 特徴 (略) スレーブの個数が指定できる。 データ幅が指定できる。 極性…
pp.320-322 入力4ビット幅、係数5個、よって出力11ビット幅のFIRフィルターを作る。単なる練習であって係数に意味はない。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; --use ieee.math_real.all; entity fir_filter is generic(…