2013-04-01 24 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