2013-04-01 42 views
1

我正在嘗試創建掃頻餘弦,我希望能夠按照我的意願設置相位。我試過這個代碼,但是我得到一個錯誤。我想創建一個矢量墊(1:40),我可以手動設置它的相位。啁​​啾相位改變

Fs = 32000;    %Sampling Frequency 
t = 0: 1/Fs: 10 -1/Fs;  %Time 
tt = 10;     %Time when the chance occurs 
f1 = 20;     %Starting Frequency 
f2 = 250;     %Ending Frequency 
cosineph = zeros(1,40); %Phase of cosines 

for iMat= 1:40 

    k=iMat/2; 
    mat(iMat) = chirp(t,k*f1,tt,k*f2,'linear',cosineph(iMat)); 

end 

我得到的錯誤是「在賦值A(I)= B中,B和I中的元素數量必須相同。

現在,我猜它指的是變量t,所以我嘗試將其實現爲嵌入式,但沒有得到我想要的結果。

有什麼建議嗎?

由於

回答

2

您正在試圖向量(的chirp輸出)分配給一個矩陣(mat)的單個元素。這不起作用。你可以改用一個單元陣列。在下面的示例中,我用單元陣列outArray替換mat

Fs = 32000;    %Sampling Frequency 
t = 0: 1/Fs: 10 -1/Fs;  %Time 
tt = 10;     %Time when the chance occurs 
f1 = 20;     %Starting Frequency 
f2 = 250;     %Ending Frequency 
cosineph = zeros(1,40); %Phase of cosines 

for iMat= 1:40 

    k=iMat/2; 
    outArray{iMat} = chirp(t,k*f1,tt,k*f2,'linear',cosineph(iMat)); 

end 
+0

謝謝!我想你應該能夠接受答案。我很高興它有幫助。 – Molly