matlab 信号_用matlab求传递函数的步骤[通俗易懂]

matlab 信号_用matlab求传递函数的步骤[通俗易懂]2-4离散的傅里叶变换_dftmtx

2-4离散的傅里叶变换

       现在将之前的公式应用于离散的傅里叶级数中。

       在信号处理中,遇到的常常不是一个函数,而是一个离散的数列。

      下面对取值范围进行改造,首先,得到的数字信号只能在正的时间段取值,在负的时间段不能取值,但由于取的是无限长的周期序列,周期为2l,因此,把取值范围(-l,l)修改为(0,2l),这样就可以避免在负的时间段取值。

       由于处理的是离散的数据序列,因此不能进行积分,而应用积分的离散形式,用求和来表示,即\int_{0}^{2l}\rightarrow \sum_{k=1}^{N}x_{k},在(0,2l)里等间隔取N个取值点,取样间隔为dx\rightarrow \Delta t,其中l=\frac{N\Delta t}{2}

       可以得到                         f(x) \rightarrow {x_{0},x_{1},x_{2}\cdot\cdot\cdot,x_{N-1}}

                                                    \frac{nx\pi}{l}\rightarrow \frac{ki\Delta t\pi}{\frac{N\Delta t}{2}}=\frac{2ki\pi}{N}

离散形式为:                   x_{i}=\frac{a_{0}}{2}+\sum_{k=1}^{m}(a_{k}cos\frac{aki\pi}{N}+b_{k}sin\frac{2ki\pi}{N})

其中a_{0}=\frac{1}{\frac{N\Delta t}{2}}\sum_{i=0}^{N-1}x_{i}=\frac{2}{N}\sum_{i=0}^{N-1}x_{i}a_{k}=\frac{1}{\frac{N\Delta t}{2}}\sum_{i=0}^{N-1}x_{i}cos\frac{2ki\pi}{N}=\frac{2}{N}\sum_{i=0}^{N-1}x_{i}cos\frac{2ki\pi}{N}b_{k}=\frac{1}{\frac{N\Delta t}{2}}\sum_{i=0}^{N-1}x_{i}sin\frac{2ki\pi}{N}=\frac{2}{N}\sum_{i=0}^{N-1}x_{i}sin\frac{2ki\pi}{N},在实际数据处理中,k一般取N/2,此时波的周期最小,获得的频率范围最大,所以想要获得高频率的信号,就需要缩短取样间隔。

MATLAB提供了dftmtx函数来获得一个复数傅里叶变换矩阵,用法为a = dftmtx(x)

例1.计算序列x(n)的DFT

clear all
t = linspace(1e-3,100e-3,10);
xn = sin(100*2*pi*t);
N = length(xn);
WNnk = dftmtx(N);
Xk = xn*WNnk;
subplot(121);
stem(1:N,xn);
subplot(122);
stem(1:N,abs(Xk));

matlab 信号_用matlab求传递函数的步骤[通俗易懂]

关于离散傅里叶变换的性质可以看看这个大佬的讲解,很细致

MATLAB信号处理——信号的变换(4) 

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

                         matlab帮助文档

今天的文章matlab 信号_用matlab求传递函数的步骤[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/75871.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注