MATALAB信号处理——信号的变换(9)

2.9 chirp Z变换

         序列x(n)的Z变换为X(z_{k}^{}) = \sum_{n=0}^{N-1}x(n)z_{k}^{-n},我们将z=AW^{-k}带入可以得到X(z_{k})=W^{\frac{k^{2}}{2}}\sum_{n=0}^{N-1}x(n)A^{-n}W^{nk}=W^{\frac{k^{2}}{2}}\sum_{n=0}^{N-1}x(n)A^{-n}W^{\frac{n^{2}}{2}}W^{-\frac{(k-n)^{2}}{2}},定义g(n)=x(n)A^{-n}W^{\frac{n^{2}}{2}},h(n)=W^{-\frac{n^{2}}{2}},则X(z_{k})=W^{\frac{k^{2}}{2}}\sum_{n=0}^{N-1}g(n)h(k-n)=W^{\frac{k^{2}}{2}}g(k)*h(k),将以上运算转换为卷积运算,采用FFT进行运算。系统的单位冲激响应h(n)=W^{-\frac{n^{2}}{2}}与频率随时间成线性增加的线性调频信号相似,因此称为Chrip Z变换,Chrip Z变换类似于移频,补零的DFT。

       MATLAB提供了Chrip Z变换的函数czt,使用方法为y = czt(x,m,w,a),改函数计算由z=a*w.^(-(0:m-1))定义的z平面螺旋线上各点的在变换,a规定了起点,w规定了相邻点的比例,m规定了变换的长度,后三个变量默认值为a=1,w=exp(j*2*pi/m),m =length(x)。

例1 czt函数实现频谱细化(频谱细化就是对频谱中的某一频段进行局部放大)

clear all;
fs = 256;
N = 512;
nfft = 512;
n = 0:N-1;
n1 = fs*(0:nfft/2-1)/nfft;
x = sin(2*pi*100*n/fs)+sqrt(2)*cos(2*pi*120*n/fs)+sqrt(3)*sin(2*pi*145*n/fs);
subplot(221)
plot(n,x)
title('原始信号时域图');
xk = fft(x,nfft);
subplot(222)
plot(n1,abs(xk(1:(N/2))));
title('fft频谱')
f1 = 100;
f2 = 110;
m = 256;
w = exp(-j*2*pi*(f2-f1)/(fs*m));
a = exp(j*2*pi*f1/fs);
xk2 = czt(x,m,w,a);
h = 0:m-1;
f0 = (f2-f1)/m*h+100;
subplot(223)
plot(f0,abs(xk2));
title('czt细化频谱')

 例2 比较czt函数和fft函数

clear all
fs = 2048;
N = 2048;
nfft = 2048;
n = 0:N-1;
n1 = fs*(0:nfft/2-1)/nfft;
x = sqrt(2)*sin(2*pi*198.56*n/fs)+sqrt(5)*cos(2*pi*103.42*n/fs)+sqrt(7)*sin(2*pi*145.23*n/fs);
subplot(311)
plot(n,x)
title('原始信号时域图');
y = fft(x,nfft);
subplot(312)
plot(n1,abs(y(1:N/2)));
title('fft')
f1 = 100;
f2 = 250;
m = 2048;
w = exp(-j*2*pi*(f2-f1)/(fs*m));
a = exp(j*2*pi*f1/fs);
z = czt(x,m,w,a);
h = 0:m-1;
f0 = (f2-f1)/m*h+100;
subplot(313)
plot(f0,abs(z));
title('czt')



参考资料——《MATLAB信号处理》沈再阳

                        百度百科

                        MATLAB帮助文档

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
matlab处理音频信号 一、 问题的提出: 数字语音是信号的一种,我们处理数字语音信号,也就是对一种信号的处理,那信号是什么呢? 信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 按信号特点的不同,信号可表示成一个或几个独立变量的函数。例如,图像信号就是空间位置(二元变量)的亮度函数。一维变量可以是时间,也可以是其他参量,习惯上将其看成时间。信号有以下几种: (1)连续时间信号:在连续时间范围内定义的信号,但信号的幅值可以是连续数值,也可以是离散数值。当幅值为连续这一特点情况下又常称为模拟信号。实际上连续时间信号与模拟信号常常通用,用以说明同一信号。 (2)离时间信号:时间为离散变量的信号,即独立变量时间被量化了。而幅度仍是连续变化的。 (3)数字信号:时间离散而幅度量化的信号。 语音信号是基于时间轴上的一维数字信号,在这里主要是对语音信号进行频域上的分析。在信号分析中,频域往往包含了更多的信息。对于频域来说,大概有8种波形可以让我们分析:矩形方波,锯齿波,梯形波,临界阻尼指数脉冲波形,三角波,余旋波,余旋平方波,高斯波。对于各种波形,我们都可以用一种方法来分析,就是傅立叶变换:将时域的波形转化到频域来分析。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值