-1

私は一週間ずっとこの問題を理解しようとしてきました。私の主な問題は、信号のノイズから音を分離することです(プロットされた例を参照してください:

ここに画像の説明を入力

これらの小さなノイズの間には dtmf トーンがあります。トーンの開始点と終了点のインデックスを取得したら、それらを変換するのは簡単です。

ノイズの開始点または開始点をどのように正確に判断すればよいのでしょうか?各ノイズはさまざまな長さである可能性があり、実際の音には突然の低下がたくさんあります。小さな塊を取るという概念は理解できますが、音からノイズを判断する方法でそれらを比較するにはどうすればよいでしょうか。特定の数の下でインデックスが連続している時間を比較することで、沈黙を微調整できますか? この問題を開始する方法がわかりません。

function [phone_number,ERROR] = cjm274_dtmf_number(dtmf_signal,fs)
Input:
% dtmf_signal - samples of the input waveform
% fs - sampling frequency
% Output:
% phone_number - string of characters representing a phone number
% ERROR - set to zero if phone_number does not represent a valid
% phone number
4

1 に答える 1

0

ノイズよりも目的の信号についてよく知っているため、通常、目的の信号をフィルター処理して通過させ、ノイズからフィルター処理した後にこの信号の開始と終了を決定する方が簡単であると考えられています。たとえば、それぞれが DTMF 周波数の 1 つを中心とした一連の狭帯域フィルターを試すことができます。

于 2012-10-03T17:18:45.010 に答える