問題タブ [goertzel-algorithm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Goertzelアルゴリズムでオーディオ信号を処理した結果
小さな信号処理アプリを作りました。Goerztelアルゴリズムを使用して、特定の周波数でオーディオ信号(モールス信号)を処理します。アプリケーションは一時ファイルをファイルシステムに保存し、記録が終了した後、信号の検出を開始します。今、私はたくさんの大きさの結果を得ました。
私はそれらの大きさから何を読むべきか本当にわかりません。これらのマグニチュードからモールス信号をデコードするにはどうすればよいですか?どうすれば読むことができますか?参考文献を見つけようとしましたが、結果とその読み方についてはどこにも説明されていません。
編集:
私のモールス信号アプリケーションはDelphiで作成されており、Windowsビープ機能を使用して特定の周波数で信号を送信します。信号に1200Hzを使用しています。また、信号と単語の間の一時停止とモールス信号のビープ音は、ウィキペディアで説明されているようなものです。すべてが正確です。
Goertzel.java:
SoundCompareActivity.java
MorseDecoder.java:
EDIT2:
サンプルの処理にいくつかのバグがあることに気づきました。whileループのコードを変更しました。
よろしく、悪人
rtp - Goertzel アルゴリズムはアナログ信号で動作しますか?
私の SIP 電話は、PCMU ペイロードの通常の rtp パケットでトーン (リングバック) を受信しています (rfc 2833 でサポートされているペイロード形式を使用していません)。トーンまたは音声が rtp データに存在するかどうかを検出するには、Goertzel アルゴリズムを使用する必要があります。私はこのドメインに不慣れで、受信した rtp パケットから Goertzel アルゴに入力を提供する方法を理解できませんか? または、このアルゴリズムはアナログ信号を入力として受け取りますか?
c - C での Goertzel アルゴリズムの実装
DSP プロセッサに BFSK 周波数ホッピング通信システムを実装しています。一部のフォーラム メンバーから、特定の周波数での周波数ホッピングの復調に Goertzel アルゴリズムを使用することが提案されました。私は、C で goertzel アルゴリズムを実装しようとしました。コードは次のとおりです。
関数を使用して特定のデータセットの特定の頻度で結果を計算すると、正しい結果が得られません。ただし、同じデータセットを使用し、MATLAB goertzel() 関数を使用して goertzel の結果を計算すると、完全に結果が得られます。インターネットで見つけたいくつかのオンラインチュートリアルの助けを借りて、C を使用してアルゴリズムを実装しています。関数が goertzel アルゴリズムを正しく実装しているかどうか、皆さんの意見を聞きたいだけです。
c++ - 'data' was not declared in this scope
I'm in the process of implementing the Goertzel Algorithm in C++, and I've gotten so far:
But I get these silly error codes:
I am utterly and completely lost, why can't my member function readDataFromFile()
find my array data[]
?? It seems like the constructor builds the array and then destroys it after the program leaves the constructor?? How can i fix these apparently silly errors?
c# - Goertzel アルゴリズムを使用した DTMF 検出
波形フォーマットが次の場合、Goertzel Algorithm を使用するにはどうすればよいですか? - 2 チャンネル - 32 ビット - 48 kHz
Goertzel アルゴリズムについてはすでに検索しましたが、インターネット全体で見られるのは、2 チャネル、16 ビット、および 8 kHz の波形形式の DTMF の検出だけです。要件を満たすためにコードのどの部分を変更すればよいかわかりません。
algorithm - 正弦波信号の周波数と位相を検出するためのシンプルで効率的なアルゴリズム
純粋な正弦波信号の周波数と位相を検出するアルゴリズムが必要です。入力信号の周波数は 0 ~ 100 Hz の間で変化します。
信号の値は 20kHz の周波数でキャプチャされます (つまり、1 秒あたり 20.000 の値を取得します)。これは指定されており、変更できません。この入力信号の周波数と位相を検出し、PWM を使用して入力信号と同じ周波数で MCU 割り込みを生成する必要があります。
これを簡単かつ効率的に行うために使用するアルゴリズムを誰かが提案できますか? もしかしてゲルツェルアルゴリズム?
c# - これで Goertzel アルゴリズムを実装するにはどうすればよいですか?
ここでコードを取得しました: https://naudio.codeplex.com/discussions/270762。
goertzel アルゴリズムは次のようになります。
そのアルゴリズムを使用して、(上記のリンクのウェーブ ファイル リーダーから) オーディオ データを変換したいと考えています。どうやってやるの?ありがとう
ios - IOS のギター チューナー: Goertzel アルゴリズムが 6 弦のうち 2 弦で機能しない
私はIOS 8でギターチューナーを実現しようとしていますが、すでにそれを実現しているコードを入手しました.これは、固定周波数の大きさを簡単に比較するGoertzelアルゴリズムを扱います-リングEADGBEで定義されています. - CoreAudio のコールバック メソッドに配置されるルーチン:
ただし、このようなルーチンは下位文字列 "DGBE" に対してのみ機能します。E ストリングと D ストリングについては、誤った結果が得られます。そのような動作は、検索されたものよりも強いように見えるため、倍音に関係していると思います。低い「E」には「A」または「D」がある可能性があります。より大きな振幅を持つ倍音として。
私の質問: 同様の問題が発生しましたか? そしてそれを解決しましたか?Goertzel はそのための正しいアルゴリズムですか、それとも FFT または畳み込みの方が優れたソリューションですか?
最後に、私が使用する Goertzel アルゴリズムを次に示します。