【问题标题】:chirp phase alteration啁啾相位改变
【发布时间】:2013-04-01 18:08:22
【问题描述】:

我正在尝试创建扫频余弦,并且我希望能够随意设置相位。我尝试了该代码,但出现错误。我想创建一个矢量垫(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,所以我尝试将它实现到嵌入式 for 中,但没有得到我想要的结果。

有什么建议吗?

谢谢

【问题讨论】:

    标签: matlab frequency phase


    【解决方案1】:

    您正在尝试将向量(chirp 的输出)分配给矩阵的单个元素 (mat)。这行不通。您可以改用元胞数组。在下面的示例中,我将 mat 替换为元胞数组 outArray

    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
    

    【讨论】:

    • 谢谢!我认为您应该能够接受答案,因为您提出了它。我很高兴它有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多