タグ付けされた質問 「filter-design」

フィッター設計は、フィルターを設計するプロセスです。

6
オーディオエンベロープの開始と停止の場所を検出する最も簡単な方法
以下は、話している人の録音を表す信号です。これに基づいて一連の小さなオーディオ信号を作成したいと思います。「重要な」サウンドの開始と終了を検出し、それらをマーカーに使用してオーディオの新しいスニペットを作成するという考え方です。言い換えれば、音声の「チャンク」がいつ開始または停止したかを示すインジケータとして無音を使用し、これに基づいて新しい音声バッファを作成したいと思います。 たとえば、ある人が自分自身を記録する場合 Hi [some silence] My name is Bob [some silence] How are you? 次に、これから3つのオーディオクリップを作成したいと思います。言うHiもの、言うMy name is Bobもの、言うものHow are you?。 私の最初のアイデアは、低振幅の領域がある場所を常にチェックするオーディオバッファーを実行することです。たぶん、最初の10個のサンプルを取得して値を平均し、結果が低い場合は無音としてラベル付けすることでこれを行うことができます。次の10個のサンプルをチェックして、バッファを進めていきます。この方法で増分することで、エンベロープの開始位置と停止位置を検出できました。 誰でも良い、しかしこれを行う簡単な方法についてアドバイスがあれば、それは素晴らしいことです。私の目的のために、解決策は非常に初歩的なことができます。 私はDSPのプロではありませんが、いくつかの基本的な概念を理解しています。また、プログラムでこれを行うので、アルゴリズムとデジタルサンプルについて話すのが最善です。 すべての助けてくれてありがとう! 編集1 これまでのところ素晴らしい反応です!ライブオーディオではないことを明確にしたかったので、ライブラリを使用するソリューションは実際には選択肢ではないため、CまたはObjective-Cでアルゴリズムを自分で記述します。

4
最小位相システムの本当の意味は何ですか?
最小位相システムの本当の意味は何ですか?ウィキペディアの記事とオッペンハイムを読むことは助けになります。というのは、LTIシステムの場合、最小フェーズとは逆が因果的で安定していることを意味するということです。(つまり、ゼロと極が単位円の内側にあることを意味します)が、「位相」と「最小」はそれと何の関係がありますか?どういうわけか、DFTの位相応答を見て、システムが最小位相であることを確認できますか?

2
フィルター次数対タップ数対係数数
私はゆっくりとDSPを学び、いくつかの用語に頭を包もうとしています。 質問1:次のフィルター差分方程式があるとします y[n]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n] = 2 x[n] + 4 x[n-2] + 6 x[n-3] + 8 x[n-4] 右側に4つの係数があります。「タップ数」も4ですか?「フィルター次数」も4ですか? 質問2:MATLAB fir1(n, Wn)関数を使用しようとしています。10タップフィルターを作成する場合、に設定しますか?n=10n=10n=10 質問3:次の再帰的(おそらくIIR)フィルター差分方程式があるとします: y[n]+2y[n−1]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n]+2y[n−1]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n] + 2 y[n-1] = 2 x[n] + 4 x[n-2] + 6 x[n-3] + 8 x[n-4] 係数の数は左側と右側で異なるため、「タップ数」と「フィルター次数」をどのように決定しますか? 質問4:次の論理if-and-only-ifステートメントは真ですか? フィルターは再帰的ですフィルターはIIRです。⟺⟺\iff フィルターは非再帰的ですフィルターはFIRです。⟺⟺\iff

5
移動平均フィルター(FIRフィルター)に対する最良の1次IIR(ARフィルター)近似とは何ですか?
次の1次IIRフィルターを想定します。 y[n]=αx[n]+(1−α)y[n−1]y[n]=αx[n]+(1−α)y[n−1] y[n] = \alpha x[n] + (1 - \alpha) y[n - 1] IIRが最後のサンプルの算術平均であるFIRを可能な限り近似するパラメーター st を選択するにはどうすればよいですか。αα \alpha kk k z[n]=1kx[n]+1kx[n−1]+…+1kx[n−k+1]z[n]=1kx[n]+1kx[n−1]+…+1kx[n−k+1] z[n] = \frac{1}{k}x[n] + \frac{1}{k}x[n-1] + \ldots + \frac{1}{k}x[n-k+1] ここで、、つまりIIRの入力はよりも長くなる可能性がありますが、最後の入力の平均の最適な近似が必要です。n∈[k,∞)n∈[k,∞) n \in [k, \infty) kk k kk k IIRには無限のインパルス応答があるため、最適な近似を探しています。またはコスト関数のいずれであっても、分析ソリューションが必要です。L2L2 {L}_{2} L1L1 {L}_{1} この最適化問題は、1次IIRのみを与えられた場合、どのように解決できますか ありがとう。

3
FIRフィルター設計:ウィンドウとパークマクレランおよび最小二乗
ローパスフィルターのFIRフィルター設計にParks-McClellan(ここではPMcCと略します)または最小二乗アルゴリズムよりもウィンドウアプローチを使用する利点はありますか?今日の計算能力では、アルゴリズム自体の複雑さは要因ではないと仮定します。 この質問は、PMcCと最小二乗を比較するものではありませんが、具体的には、これらのアルゴリズムの代わりにウィンドウFIR設計手法を使用する理由がある場合、またはそれらのアルゴリズムによって廃止され、教訓的な目的に追いやられた設計をフィルター処理するウィンドウ手法がありましたか? 以下は、ハミングウィンドウを、同じ数のタップを使用して、最小二乗法を使用したお気に入りの設計アプローチと比較した比較の1つです。ハミングウィンドウのパスバンドに厳密に一致するように、最小二乗アプローチの通過帯域を拡大しました。この場合、最小二乗のパフォーマンスが大幅に向上することは明らかでした(ストップバンド除去が大幅に向上します)。すべてのウィンドウでこれを行っていないので、PMcCと最小二乗を実行できるかどうか、またはウィンドウイングアプローチが好ましいFIRローパスフィルタの他のアプリケーションがあるかどうかという質問につながりますか?

1
Remez exchangeとParks-McClellanフィルター設計の違いは何ですか?
質問は、最近パークス・マクレランに関する上がってきたコメントのいくつかがあることを指摘パークス・マクレラン上のWikipediaの記事は、述べて ... Parks-McClellanアルゴリズムは、RemezアルゴリズムまたはRemez交換アルゴリズムのバリエーションです。 パフォーマンスに違いはありますか?remezオクターブの関数はMatlab関数と同等firpmですか?

4
FIRフィルターに必要なタップ数は?
ローパスフィルターを実装するためのFIRフィルターのセットを設計したいと考えています。また、フィルターを通過する信号の遅延を削減しようとしているので、使用できるタップの最小数はどのくらいかと思います。 タップを増やすと、周波数のカットオフがよりシャープになり、阻止帯域除去などが改善されることがわかっています。しかし、興味があるのはより基本的です-は、低周波信号を減衰させるために少なくとも100タップが必要であることを意味していますか?または、より少ないタップで逃げることができますか?そうであれば、理論的な下限がありますか?fs100fs100\frac{f_s}{100}

3
窓はもともとどのように考案されましたか?
一般的な種類のウィンドウ(ハミング、ハニング、カイザー、テューキーなど)を認識しています。しかし、多くの本がそれらを説明していますが、それらがどれほど正確に由来したかをほとんど教えてくれません。 ハミングウィンドウの神聖なところは何ですか?ハニングはどうですか?それらはすべてメインローブの幅とサイドローブの減衰の比率で再生されることを理解していますが、それらはどのように正確に導出されましたか? 私の質問の動機は、メインローブの幅とサイドローブのエネルギーを再生する独自のウィンドウを設計できるかどうかを把握しようとしているためです。

3
高次フィルターのカスケードバイカッドセクションはどのように機能しますか?
私は8次のIIRフィルターを実装しようとしていますが、これまで読んだすべてのアプリケーションノートと教科書には、2次のセクションとして2を超える次数のフィルターを実装するのが最善であると書かれています。tf2sosMATLABで2次セクションの係数を取得するために使用しましたが、予想どおり、4 2次セクションの6x4係数が得られました。SOSとして実装する前は、8次フィルターには7つの以前のサンプル値を保存する必要がありました(および出力値も)。ここで、2次セクションとして実装するとき、フローが入力から出力までどのように機能するか、2つの前のサンプル値のみを保存する必要がありますか?または、最初のフィルターの出力はx_in2番目のフィルターのように送られますか?
20 filters  filter-design  infinite-impulse-response  biquad  audio  image-processing  distance-metrics  algorithms  interpolation  audio  hardware  performance  sampling  computer-vision  dsp-core  music  frequency-spectrum  matlab  power-spectral-density  filter-design  ica  source-separation  fourier-transform  fourier-transform  sampling  bandpass  audio  algorithms  edge-detection  filters  computer-vision  stereo-vision  filters  finite-impulse-response  infinite-impulse-response  image-processing  blur  impulse-response  state-space  linear-systems  dft  floating-point  software-implementation  oscillator  matched-filter  digital-communications  digital-communications  deconvolution  continuous-signals  discrete-signals  transfer-function  image-processing  computer-vision  3d 

7
Parks-McClellan最適FIRフィルター設計アルゴリズムのオープンソース実装はどこで入手できますか?
背景:私はしばしば、独自のフィルターを必要とする何らかの信号処理タスクを行っています。通常、この時点でMATLABに行き、firpm()firpm()\tt firpm()を使用して新しい一意のフィルターを生成します。MATLAB firpm()関数は、そのParks-McClellanアルゴリズムを実装します。これでフィルターができたので、フィルターをハードコーディングされた配列に入れました。しかし、1つのシナリオでのみ機能するハードコードされたフィルターがあるという問題があります。 問題:信号処理の問題を解決できるようになりましたが、非常に特定のシングルサンプルレートまたは特定のシナリオの場合のみです。 目標: Cコードまたは他の言語からfirpm()firpm()\tt firpm()を呼び出して、信号処理コードをより汎用的にしたい。のオープンソース実装が見つかりませんfirpm()! Parks-McClellan最適FIRフィルター設計アルゴリズム(MATLABでは別名firpm()firpm()\tt firpm()オープンソース実装はどこで入手できますか? PS私は、ウィンドウ処理などを使用してフィルタを異なる方法で設計できることを認識しています...コメントでそれらを自由に言及してください。しかし、この質問のポイントは、「他のフィルター設計手法とは何ですか?」ポイントは、非常に便利なfirpm()firpm()\tt firpm() ...または類似のもののオープンソース実装を見つけることです。 PPSこの質問の目標の1つは、最初にコードを見て、Parks-McClellanアルゴリズムがどのように機能するかを学習することです。その後、背景理論を読む予定です。

3
信号フィルターを設計するための優れた教科書
数ヶ月前から、動的システムの制御の分野に積極的に関与し始めました。 ほとんどの場合、特定の動的システム用にコントローラーを設計するには、特に信号フィルターの分野でデジタル信号処理技術を使用する必要があります。 私は制御工学のバックグラウンドを持っていないので、シグナルフィルターを扱っているサウンド教科書の提案を詳細に提供してもらえないかと思います。 教科書は理想的には以下を含むべきです: DSPの分野で最も一般的なフィルターの紹介。 周波数領域と時間領域の両方での主な特性の説明。 どのシナリオで一般的に使用されますか(フィルターの役割または機能)。 素朴な質問ではありますが、いくつかの教科書をアドバイスしてください。

6
パラメトリックカーブに極と零点を分布させることによるフィルター設計
AN NNN番目の順バターワースローパスフィルタのカットオフ周波数ωcωc\omega_c分配することにより設計することができるNNNパラメータに対して均一極を0&lt;α&lt;10&lt;α&lt;10 < \alpha <1 s平面パラメトリック曲線上のf(α)=ωcei(π/2+πα)f(α)=ωcei(π/2+πα)f(\alpha) = \omega_c e^{i(\pi/2+\pi\alpha)}、半円形です。 図1. 6次バターワースフィルターの極(CC BY-SA 3.0 Fcorthay) 同じパラメトリック曲線を、正規化されていない伝達関数を与える任意のフィルター次数使用できることは注目に値しNNNます。 H(s)=∏k=1N1s−f(2k−12N),(1)(1)H(s)=∏k=1N1s−f(2k−12N),H(s)=\prod_{k=1}^N\frac{1}{s-f\left(\frac{2k-1}{2N}\right)},\tag{1} そして、結果のフィルターは常にバターワースフィルターであること。つまり、同じ数の極と零点をもつ他のフィルターは、周波数ω=0ω=0\omega = 0およびでの振幅応答の消失導関数の数が多くなりませんω=∞ω=∞\omega = \infty。同一のカットオフ周波数有するバターワースフィルタの組ωcωc\omega_cバタワースのサブセットを形成するには、パラメトリック曲線たフィルタf(α)f(α)f(\alpha)固有のものです。NNNには上限がないため、サブセットは無限です。 より一般的には、パラメトリックカーブに由来する場合を除き、極と零点を無限に数えない、NNpNNpNN_p極とNNzNNzNN_z零点、NNNは整数、Nz/NpNz/NpN_z/N_pは整数の非負の分数を持つフィルターは、正規化されていない形式の伝達関数: H(s)=∏NNzk=1(s−fz(2k−12NNz))∏NNpk=1(s−fp(2k−12NNp)),(2)(2)H(s)=∏k=1NNz(s−fz(2k−12NNz))∏k=1NNp(s−fp(2k−12NNp)),H(s)=\frac{\prod_{k=1}^{NN_z}\left(s-f_z\left(\frac{2k-1}{2NN_z}\right)\right)}{\prod_{k=1}^{NN_p}\left(s-f_p\left(\frac{2k-1}{2NN_p}\right)\right)},\tag{2} ここで、fp(α)fp(α)f_p(\alpha)およびfz(α)fz(α)f_z(\alpha)は、極限における極と零点の分布を記述するパラメトリックカーブですN→∞N→∞N\to\infty。 質問1:バターワース以外のフィルタータイプには、いくつかの最適性基準で定義され、式ごとに分数Nz/NpNz/NpN_z/N_pとパラメトリック曲線fp(α)fp(α)f_p(\alpha)およびのペアでそれぞれ定義される無限のサブセットがありますfz(α)fz(α)f_z(\alpha)。2、フィルターはだけ異なるNNN?タイプI チェビシェフフィルター、はい; これらの場合、極はパラメトリック角楕円の半分に存在しαα\alphaます。バターワースとタイプIおよびタイプIIのチェビシェフフィルターはどちらも楕円フィルターの特殊なケースです。。明確にするために、「無限のサブセット」とは、無限の数のサブセットではなく、無限のサイズのサブセットを意味します。 質問2:非バターワース非チェビシェフ楕円フィルターには、このような無限のサブセットがありますか? 質問3:すべての楕円フィルターはそのような無限のサブセットにありますか? すべての楕円フィルターの無限集合が、極を配置するための単一のパラメトリックカーブとゼロを配置するための単一のパラメトリックカーブ、および零点から極への場合、楕円フィルターを得るための数値最適化は、特定の次数のフィルターではなく、パラメトリック曲線を最適化することで実行できます。最適な曲線を複数のフィルター次数に再利用して、最適性を維持できます。上記の「if」が質問2と3を尋ねる理由です。質問1は、他の最適性基準へのアプローチの拡張に関するものです。 確かに、楕円フィルターの極-零点プロットは、基本的な曲線があるように見えます。 図2. s平面上の楕円ローパスフィルターの対数振幅。白い点は極であり、黒い点はゼロです。 1つのリードは、Eqごとです。1、特定の値、したがって特定の極とゼロの位置を複数のフィルター間で共有する必要があります。αα\alpha 図5. 異なるフィルター次数Nに対して曲線パラメーターによって取得された値。いくつかのフィルター次数に対して、たとえばα = 0.5またはα = 0.25およびα = 0.75があることに注意してください。αα\alphaNNNα=0.5α=0.5\alpha = 0.5α=0.25α=0.25\alpha = 0.25α=0.75.α=0.75.\alpha = 0.75. 具体的には、持っているフィルタのため極または零点を、それらがすべて持っているフィルタでも現れる3 N …

3
線形位相のFIRフィルター、4種類
線形位相、つまり一定の群遅延を持つ4種類のFIRフィルターがあることを知っています:(M =インパルス応答の長さ) 対称的なインパルス応答、M =奇数 インプ それぞれ 対称、M =偶数 インプ それぞれ 非対称、M =奇数 インプ それぞれ 非対称、M =偶数 それぞれに特徴があります。これらのタイプのうち、線形位相設計のFIRフィルターで最も一般的に使用されるのはなぜですか?:)

9
FFTがスペクトルを変更するのではなく、逆FFTよりも時間領域でウィンドウを使用する理由
DSPは、信号の一部のFFTを使用して行われ、FFTから生じるサンプルを修正し(信号とノイズのスペクトルを表すため)、不要な信号を削除し、逆FFTを実行して時間を取得すると考えましたフィルターされた信号のドメイン表現(ノイズは除去されました)。ただし、これは行われず、代わりにウィンドウ関数を使用して時間領域ですべての作業を行います。どうして? 窓関数の周波数応答を周波数領域の信号のスペクトルと畳み込むよりも、時間領域で窓関数を掛ける場合、どうなりますか?つまり、信号にフィルターの周波数応答を乗算することによって、周波数領域ですべての作業を行った場合、それは正しいフィルター処理のようになりますか?しかし、ここでは、ウィンドウを使用する代わりに、時間領域ですべての処理を行います。 -&gt;私の混乱がどこから来たのかを見てみましょう。ローパスフィルターなどのアナログフィルターの場合、周波数応答のようなこのパルスがあります。信号をフィルター処理するとき、フィルターの周波数応答のようなパルスで信号のスペクトルを効果的に乗算します。これにより、カットオフより上の信号のすべての周波数が0に減少します。これが、ローパスフィルターの本質的な動作です。デジタルフィルターでも同じことをしてみませんか?

5
Pythonでサンプリングされた信号のローパスフィルタを書く方法は?
1 ns(1e-9秒)ごとにサンプリングした信号があり、たとえば1e4ポイントがあります。この信号から高周波をフィルタリングする必要があります。10 MHzより高い周波数をフィルタリングする必要があるとしましょう。カットオフ周波数より低い周波数では、信号は変更されずに渡されます。これは、カットオフ周波数より低い周波数ではフィルターのゲインが1になることを意味します。フィルター次数を指定できるようにしたいと思います。つまり、カットオフ周波数後の1次フィルターには20 db / decadeの勾配(電源ロールオフ)があり、カットオフ周波数後の2次フィルターには40 db / decの勾配があります。コードの高性能が重要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.