2017-03-10 9 views
1

MATLABで以下のシステムを実装しようとしています。 私はオーディオ信号を読んでおり、以下の操作を実行したいと考えています。MATLABシグナル実装

%read the audio file 
[y,Fs] = audioread('input_original.wav'); 

syms k x 
yx = symsum(k, k, -inf, y); 

%write the output 
audiowrite('signal_divbb.wav',yx,Fs,'BitsPerSample',64) 

適切にこの信号を実装する方法があります:

enter image description here

は、これまでのところ、私は次のように行われていますか?私はaudioreadの出力(あなたy変数が)m行回mは、信号の長さであり、nはチャンネル(ステレオ用2)の数であるn列を、持っているMATLAB

+0

既に答えがあるので、私はここで指摘したいと思いますが、理論と実装の違いは、有限時間信号の「inf」について話すことができないことです。この信号はディスクに記録され、有限サイズのファイル。 – Yvon

+0

したがって、nの値はインデックス1からnまでの実行合計になります。 –

+0

最初のインデックスを '-Inf'とすると、yesとなります。 – Yvon

答えて

4

に精通していないです。次のようにcumsumを使用することができます。

yx = cumsum(y, 1); 

これは最初の寸法(すなわち、時間)に沿って累積和を計算します。従ってyx(k,c)y(1,c)+y(2,c)+...+y(k,c)と等しく、k1からmまでの範囲であり、c1からnまでのチャネルインデックスです。

関連する問題