chrip-matlab扫频命令(1)

1 篇文章 0 订阅
1 篇文章 0 订阅

chirp:产生余弦扫频信号

matlab帮助文档里的描述用法有:

y=chirp(t,f0,t1,f1)

在t的时间范围内,从f0扫频到f1,指定t1时要扫到f1。 所以,通过t1的位置,扫频速率就被规定下来了。


y =chirp(t,f0,t1,f1,’method’,phi,‘shape’)
扫频方法有linear线性扫频、quadratic二次扫频、logarithmic对数扫频;
phi允许指定一个初始相位(以°为单位),默认为0,如果想忽略此参数,直接设置后面的参数,可以指定为0或[];
shape指定二次扫频方法的抛物线的形状,凹还是凸,值为concave或convex,如果此信号被忽略,则根据f0和f1的相对大小决定是凹还是凸。

fs=1000;
t=1/fs:1/fs:2;%共2000个时刻
x1=chirp(t,0,0.5,100);
x2=chirp(t,0,1,100);
x3=chirp(t,0,4,100);
figure;
subplot(311);plot(x1);
subplot(312);plot(x2);
subplot(313);plot(x3);
figure;
subplot(311);x1_fft=fft(x1);plot(abs(x1_fft));
subplot(312);x2_fft=fft(x2);plot(abs(x2_fft));
subplot(313);x3_fft=fft(x3);plot(abs(x3_fft));

 

图一,如果规定在0.5秒就扫到了100Hz,后面的1.5秒就再升300Hz,实际在2秒的时候,频率已经是400Hz了

%信号产生时间总长为0.5秒,进行扫频,在0.5秒扫到100Hz
t_=1/fs:1/fs:0.5;
x1_=chirp(t,0,0.5,100);
for temp=1:length(t_)
    chazhi_(temp)=x1(temp)-x1_(temp);  
end
figure;
plot(chazhi_);%与x1产生的0.5秒之前的信号进行比较,的确是一模一样的

%那x1之后的是怎么回事呢
%线性的斜率的话,0.5秒是到达了100Hz,2秒的时候应该是到了400Hz,验证一下
x1__=chirp(t,0,2,400);
figure;
subplot(411);plot(x1);
subplot(412);plot(x1__);
subplot(413);plot(abs(x1_fft));
subplot(414);x1__fft=fft(x1__);plot(abs(x1__fft));

  • 3
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值