
C/Linux/Tcl/Matlab 区
文章平均质量分 71
以前写的博客了,不知道放哪里,就汇总在这里吧
李锐博恩
退网中
展开
-
【 MATLAB 】【 MATLAB 】DFT的性质讨论(三)序列的循环卷积及其 MATLAB 实现
这篇博文要将的是循环卷积,循环卷积和线性卷积还是有很大区别的,我们都知道,两个N点序列之间的线性卷积会得出一个更长的序列,不得不再一次要将区间限制在 0 <= n <= N -1。因此代替线性移位的是应该考虑循环移位,循环移位我们上面已经讨论了两篇博文:【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(时域方法)【 MATLAB 】DFT的性质讨...原创 2018-10-29 22:39:51 · 6083 阅读 · 3 评论 -
【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(频域方法)
上篇博文:【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(时域方法)提到了对序列x(n)做循环移位后的DFT形式为:上篇博文已经讨论过了第一种实现循环移位的方法,通过在时域中对序列移位,之后取模运算,得到循环移位。并给出了精辟地验证。可以很放心的使用。这篇博文呢?我们就通过序列循环移位后的DFT形式来反推序列的循环移位,并独立给出函数。这个函数...原创 2018-10-29 21:22:45 · 6911 阅读 · 5 评论 -
【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(时域方法)
如果一个N点序列在任一方向上移位,那么其结果都不在是位于 0 < = n <= N-1之间。因此,需要进行下面的操作:为了形象化,可以设想将序列x(n)放在一个圆上,现在将这个圆旋转k个样本,并从 0 < = n <= N-1展开这个序列。它的DFT给出为:下面给出循环移位的函数:function y = cirshftt(x,m,N)%...原创 2018-10-29 20:02:04 · 7481 阅读 · 0 评论 -
【 MATLAB 】DFT性质讨论(一)线性、循环反转、共轭与实序列的对称性的MATLAB实现
上篇博文通过在理论上讨论了DFT的三个性质:【 MATLAB 】DFT性质讨论(一)线性、循环反转与共轭分别讨论:一、线性给出一个例子,给出x1和x2,x3 = 0.3*x1+0.8*x2;之后我们求x3的DFT,和x1和x2的DFT的线性组合是否一致,即可验证线性性质。clc,clear,close all;%signal 1n1 = 0:3;x1 = [1,1,1...原创 2018-10-29 17:36:49 · 9229 阅读 · 1 评论 -
【 MATLAB 】DFT性质讨论(一)线性、循环反转、共轭与实序列的对称性
本篇博文通过手稿版的形式对DFT的线性,循环反转以及共轭性质给予了总结。下篇博文设想通过MATLAB来实现这几个性质。原创 2018-10-29 15:47:51 · 4665 阅读 · 0 评论 -
【 MATLAB 】通过不同样本数的同一个有限长序列作 DTFT 对比
上篇博文我们讨论了:【 MATLAB 】使用 MATLAB 得到高密度谱(补零得到DFT)和高分辨率谱(获得更多的数据得到DFT)的方式对比(附MATLAB脚本)可是还是觉得不过瘾,还有下面的情况需要对比。于是就有了这篇博文。案例:想要基于有限样本数来确定他的频谱。下面我们分如下几种情况来分别讨论:a. 求出并画出 的DTFT;b. 求出并画出 的DTFT;c...原创 2018-10-28 21:27:09 · 3441 阅读 · 0 评论 -
【 MATLAB 】使用 MATLAB 得到高密度谱(补零得到DFT)和高分辨率谱(获得更多的数据得到DFT)的方式对比(附MATLAB脚本)
上篇博文分析了同一有限长序列在不同的N下的DFT之间的不同: MATLAB 】使用 MATLAB 作图讨论有限长序列的 N 点 DFT(强烈推荐)(含MATLAB脚本)那篇博文中,我们通过补零的方式来增加N,这样最后的结论是随着N的不断增大,我们只会得到DTFT上的更多的采样点,也就是说频率采样率增加了。通过补零,得到高密度谱(DFT),但不能得到高分辨率谱,因为补零并没有任何新的信息附加到这...原创 2018-10-28 21:10:41 · 7018 阅读 · 0 评论 -
【 MATLAB 】使用 MATLAB 作图讨论有限长序列的 N 点 DFT(强烈推荐)(含MATLAB脚本)
这篇博文本来是和上篇博文一起写的:【 MATLAB 】离散傅里叶级数(DFS)与DFT、DTFT及 z变换之间的关系但是这篇博文我最初设计的是使用MATLAB脚本和图像来讨论的,而上篇博文全是公式,因此,还是单独成立了一篇,但是我还是希望看这篇博文之前还是先看看上篇博文。我默认你已经看了上篇博文。本博文的讨论建立在一个案例的基础上:设x(n)是4点序列为:计算x(n)的4点...原创 2018-10-28 18:37:14 · 24787 阅读 · 4 评论 -
【 MATLAB 】DFS 和 DTFT 之间的关系
上篇博文讲了DFS和z变换之间的关系:【 MATLAB 】DFS 与 z 变换之间的关系这篇博文接着看DFS 和 DTFT 之间的关系,文章同样是从我的其他博文中抽取处理的,目的就是怕这种显然而重要的知识点被淹没。为了后面讨论方便,这里给出DFS的系数公式(分析公式): ...原创 2018-10-28 18:03:15 · 3789 阅读 · 0 评论 -
【 MATLAB 】DFS 与 z 变换之间的关系
这篇博文是从我的其他博文中提出出来的,目的是怕这个明显而关键的知识点被淹没。DFS的博文见:【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现给出DFS的系数公式(分析公式): ...原创 2018-10-28 17:32:46 · 2997 阅读 · 0 评论 -
【 MATLAB 】离散傅里叶级数(DFS)与DFT、DTFT及 z变换之间的关系
上篇博文我们简单的讨论了离散傅里叶级数DFS和离散傅里叶变换DFT之间的关系,简单地说,DFT就是DFS在一个周期内的表现。【 MATLAB 】离散傅里叶变换(DFT)以及逆变换(IDFT)的MATLAB实现为了后面讨论方便,这里给出DFS的系数公式(分析公式): ...原创 2018-10-28 18:08:55 · 13886 阅读 · 0 评论 -
【 MATLAB 】离散傅里叶变换(DFT)以及逆变换(IDFT)的MATLAB实现
刚刚写过一篇用MATLAB实现离散傅里叶级数的博文,如下:【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现离散傅里叶变换不是一种神奇的东西,它和离散傅里叶级数关系很紧密,紧密到使用MATLAB编写离散傅里叶变换以及逆变换的函数一模一样,只需改个名字即可。因为离散傅里叶级数是一个周期的信号,我们编写DFS以及IDFS函数时候,也通常只能考虑一个周期的时域信...原创 2018-10-28 15:20:14 · 72737 阅读 · 27 评论 -
【 MATLAB 】使用 MATLAB 比较占空比不同的周期方波的 DFS 图
周期方波的表达式我就不提炼了,既然你来看文章了,我就不信你周期方波都不知道。占空比定义为:L/N,N为周期,下面我们对 L = 5,N = 20; L = 5,N = 40;L = 5,N = 60;L = 7,N = 60分别画出它们的DFS图作比较。我觉得有必要先把对应的周期方波给出来(每幅图都只给出一个周期):clc;clear;close all;% Periodic ...原创 2018-10-27 22:56:49 · 8353 阅读 · 2 评论 -
【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现
有关离散傅里叶级数(DFS)我之前也写过一些博文,例如:离散周期信号的傅里叶级数(DFS)这里我再次给出标准公式。分析式:其中:综合式:这里我必须先声明,关于分析式和综合式前面那个系数1/N,到底在分析式的前面还是综合式的前面,不同的书籍定义还不一样,这个我们无所谓了。这里先以这里为准!先看看分析式,使用MATLAB进行编程时,我们可以使用循环嵌套的方式编程,但...原创 2018-10-27 21:59:58 · 20043 阅读 · 4 评论 -
【 MATLAB 】zplane 函数介绍(离散时间系统的零极图)
zplaneZero-pole plot for discrete-time systemsSyntaxzplane(b,a)zplane(b,a), where b and a are row vectors, first uses roots to find the zeros and poles of the transfer function represented by ...原创 2018-10-27 20:34:00 · 23139 阅读 · 0 评论 -
【 MATLAB 】freqz 函数介绍(数字滤波器的频率响应)
freqzFrequency response of digital filterSyntax[h,w] = freqz(b,a,n)[h,w] = freqz(d,n)[h,w] = freqz(___,n,'whole')freqz(___)[h,f] = freqz(___,n,fs)[h,f] = freqz(___,n,'whole',fs)h = f...原创 2018-10-27 20:01:48 · 18840 阅读 · 0 评论 -
【 MATLAB 】residuez 函数介绍(Z变换部分分数扩展)
residuezZ-transform partial-fraction expansionSyntax[r,p,k] = residuez(b,a)[b,a] = residuez(r,p,k) Descriptionresiduez converts a discrete time system, expressed as the ratio of two polynom...原创 2018-10-27 15:42:38 · 11608 阅读 · 0 评论 -
【 MATLAB 】Signal Processing Toolbox Functions - By Category
MATLAB中的信号处理工具箱中所提供的所有函数,内容来自于MATLAB的帮助文档,目的是更宽阔地去了解信号处理工具箱中的函数,并找到自己所需要的内容,协助科研。原创 2018-10-27 14:25:18 · 6161 阅读 · 3 评论 -
【 MATLAB 】mkpp 函数介绍
mkppMake piecewise polynomialSyntaxpp = mkpp(breaks,coefs)pp = mkpp(breaks,coefs,d)Descriptionpp = mkpp(breaks,coefs) builds a piecewise polynomial pp from its breaks and coefficients. Use...原创 2018-10-27 13:04:12 · 2599 阅读 · 0 评论 -
【 MATLAB 】unmkpp 函数介绍
unmkppExtract piecewise polynomial details提取分段多项式细节Syntax[breaks,coefs,L,order,dim] = unmkpp(pp)Unwrap Piecewise Polynomial InformationCreate a piecewise polynomial structure for the poly...原创 2018-10-26 23:07:39 · 2429 阅读 · 0 评论 -
【 MATLAB 】ppval 函数介绍(评估分段多项式)
ppvalEvaluate piecewise polynomialSyntaxv = ppval(pp,xq)Descriptionv = ppval(pp,xq) evaluates the piecewise polynomial pp at the query points xq.v = ppval(pp,xq) 评估查询点xq处的分段多项式pp。Create ...原创 2018-10-26 22:53:34 · 7868 阅读 · 0 评论 -
【 MATLAB 】spline 函数介绍(三次样条数据插值)
splineCubic spline data interpolationSyntaxs = spline(x,y,xq)pp = spline(x,y)Descriptions = spline(x,y,xq) returns a vector of interpolated values s corresponding to the query points in xq...原创 2018-10-26 23:04:34 · 58221 阅读 · 0 评论 -
【 MATLAB 】stairs 函数介绍
stairsStairstep graphSyntaxstairs(Y)stairs(X,Y)stairs(___,LineSpec)stairs(___,Name,Value)stairs(ax,___)h = stairs(___)[xb,yb] = stairs(___)Descriptionstairs(Y) draws a stairstep ...原创 2018-10-26 22:15:15 · 11810 阅读 · 0 评论 -
【 MATLAB 】z 变换中的卷积与解卷积
关于卷积的博文,之前也写过几篇:【 MATLAB 】conv 函数介绍(卷积和多项式乘法)【 MATLAB 】两个序列的卷积和运算的MATLAB实现(1)【 MATLAB 】两个序列的卷积和运算的MATLAB实现(2)今天在z变换的应用场景中再写一篇,另外加上另外一个知识点解卷积deconv。【 MATLAB 】deconv 函数介绍z变换的卷积性质为:例题1:...原创 2018-10-26 20:58:41 · 6279 阅读 · 0 评论 -
【 MATLAB 】deconv 函数介绍
deconvDeconvolution and polynomial divisionSyntax[q,r] = deconv(u,v)Description[q,r] = deconv(u,v) 使用长除法将向量v从向量u中解卷积,并返回商q和余数r,使得u = conv(v,q)+ r。 如果u和v是多项式系数的向量,则对它们进行去卷积相当于将由u表示的多项式除以由v表示的...原创 2018-10-26 20:27:01 · 22565 阅读 · 0 评论 -
【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)应用三次样条函数spline实现内插
前三篇博文讲了三种方法进行内插重建信号:sinc函数内插重建零阶保持(ZOH)内插重建一阶保持内插(FOH)重建这篇文章使用三次样条函数spline来实现内插重建,并分析重建误差。采用的案例依然是上篇博文中的案例:模拟信号:对该信号使用两种不同的采样频率采样。a. 在 fs = 5000 对信号进行采样b. 在 fs = 1000 对信号采样前面太多的文...原创 2018-10-26 18:03:07 · 4749 阅读 · 0 评论 -
【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插
上篇博文采用了零阶保持(ZOH)的方式进行了重构:【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)这篇博文我们使用一阶保持(FOH)内插来重建信号,采用的案例依然是上篇博文中的案例:模拟信号:对该信号使用两种不同的采样频率采样。a. 在 fs = 5000 对信号进行采样b. 在 fs = 1000 对信号采样这里直接给出MATLAB脚...原创 2018-10-26 17:42:39 · 7685 阅读 · 0 评论 -
【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)
上篇博文采样sinc函数内插的方式实现了模拟信号的重建:【 MATLAB 】MATLAB 实现模拟信号采样后的重建(一)这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案例:模拟信号:对该信号使用两种不同的采样频率采样。a. 在 fs = 5000 对信号进行采样b. 在 fs = 1000 对信号采样这里直接给出MATLAB脚本:cl...原创 2018-10-26 17:18:43 · 12794 阅读 · 0 评论 -
【 MATLAB 】MATLAB 实现模拟信号采样后的重建(一)
为了让MATLAB数字信号处理的相关博文能够得到一个梳理,我开通了一个专栏:数字信号处理的MATLAB实现模拟信号经过采样后得到x(n),从x(n)中重建模拟信号在数学上可用公式来描述: 式中, 是一种内插函数。对于样本之间的内插,MATLAB提供了几种方法。产生sinc(x)函数在已知有限个样本数之下可用于实现上式,即:如果已知,并且如果想要在一个很...原创 2018-10-26 16:14:44 · 27360 阅读 · 9 评论 -
【 MATLAB 】模拟信号采样及离散时间傅里叶变换(DTFT)案例分析
这篇博文中使用的模拟信号为上篇博文:【 MATLAB 】使用 MATLAB 实现模拟信号的近似及其连续傅里叶变换中使用的模拟信号:为了研究在频域数量上的采样效果,对该信号使用两种不同的采样频率采样。a. 在 fs = 5000 对信号进行采样,求出并画出其离散时间傅里叶变换;b. 在 fs = 1000 对信号采样,求出并画出其离散时间傅里叶变换。题解:上篇博文也分析了...原创 2018-10-25 23:22:00 · 14068 阅读 · 0 评论 -
【 MATLAB 】使用 MATLAB 实现模拟信号的近似及其连续傅里叶变换
严格来说,利用MATLAB是不可能用来分析模拟信号的。然而,如果有足够小的时间增量在足够细的栅格上对采样而产生一种平滑的图,并有足够大的时间来展示所有的模式,那么就能对模拟信号作近似分析。令是栅格间隔并且有,那么就能用作一个数组对一个模拟信号进行仿真。不应该将采样间隔Ts与栅格间隔混淆,是严格用来在MATLAB中表示一个模拟信号的。类似的,连续时间傅里叶变换(CTFT):也可以是近...原创 2018-10-25 22:51:38 · 9421 阅读 · 0 评论 -
【 MATLAB 】使用 MATLAB 求由差分方程表示的滤波器的响应的两种方法
例题:一个3阶低通滤波器由下面差分方程描述:y(n) = 0.0181 x(n) + 0.0543 x(n-1) + 0.0543 x(n-2) + 0.0181 x(n-3) + 1.76 y(n-1) - 1.1829 y(n-2) + 0.2781 y(n-3)画出这个滤波器的幅度和相位响应,并验证它是一个低通滤波器。第一种方法是博文里给出的:【 MATLAB 】用 MA...原创 2018-10-25 20:07:11 · 16155 阅读 · 0 评论 -
【 MATLAB 】使用 MATLAB 求某输入的稳态响应
稳态响应是在本科,更确切地说是在考研时候经常接触的,例如电路基础、信号与系统中就常有稳态响应这个词。今天在补习MATLAB数字信号处理时,突然碰到稳态响应,一脸懵逼,感觉并不理解什么是稳态响应了,也许之前也没有懂过吧。百度百科对概念进行了解释:稳态响应是指当足够长的时间之后,系统对于固定的输入,有了一个较为稳定的输出。在某一输入信号的作用后,时间趋于无穷大时系统的输出状态称为稳态。...原创 2018-10-25 17:09:17 · 15245 阅读 · 0 评论 -
【 MATLAB 】使用案例研究 DTFT 的对称性
上篇博文:【 MATLAB 】用 MATLAB 实现离散时间傅里叶变换(DTFT)的两个案例分析我们就使用第二个案例来研究下DTFT的对称性,看看它的幅值、相位、实部和虚部的对称性到底如何?案例题目贴出来:求下面有限长序列的离散时间傅里叶变换:在[0,pi]之间的501个等分频率上进行数值求值。最后我们得到的结果是:这是在[0,pi]上划分为501个等分点来求得DT...原创 2018-10-25 15:43:18 · 4230 阅读 · 0 评论 -
【 MATLAB 】用 MATLAB 实现离散时间傅里叶变换(DTFT)的两个案例分析
先给出离散时间傅里叶变换的简单介绍:如果 x(n) 是绝对可加的,即那么它的离散时间傅里叶变换给出为:w 称为数字频率,单位是每样本 rad(弧度)或 (弧度/样本)(rad/sample)案例1:求 的离散时间傅里叶变换,并用MATLAB将在之间的501个等分点上求值,并画出它的幅度、相位、实部和虚部。题解:由于x(n)是无限长的序列,所以不能直接用MATLA...原创 2018-10-25 15:32:55 · 45265 阅读 · 5 评论 -
【 MATLAB 】使用 filter 函数产生给定线性时不变系统的单位阶跃响应
先给出filter的大致介绍:【 MATLAB 】filter 函数介绍(一维数字滤波器)上篇博文写了产生一个系统的脉冲响应的博文,有兴趣可以看看:【 MATLAB 】使用 impz 函数计算并画出脉冲响应使用到的filter语法如下:y = filter(b,a,x)对具有分子系数向量b和分母系数向量a的系统函数对x进行滤波,得到响应y。如果x为一个单位阶跃序列,则响应...原创 2018-10-24 22:19:43 · 6040 阅读 · 0 评论 -
【 MATLAB 】使用 impz 函数计算并画出脉冲响应
这篇博文在于讨论 impz 函数的使用。MATLAB帮助文档对impz的介绍:【 MATLAB 】impz函数介绍(数字滤波器的脉冲响应)我在 MATLAB 中查看 impz 的帮助文档时,始终看的不是太明白这个函数的使用,于是我根据一个例子,对这个函数做了一点分析,解决了一些我的疑惑,记录于此。帮助文档上对这个函数的概括是数字滤波器的脉冲响应。所谓的数字滤波器不就是一个线性时不变...原创 2018-10-24 22:04:51 · 61537 阅读 · 5 评论 -
【 MATLAB 】ellip 函数介绍(椭圆滤波器设计)
ellipElliptic filter designSyntax[b,a] = ellip(n,Rp,Rs,Wp)[b,a] = ellip(n,Rp,Rs,Wp,ftype)[z,p,k] = ellip(___)[A,B,C,D] = ellip(___)[___] = ellip(___,'s')Description[b,a] = ellip(n,Rp...原创 2018-10-24 16:24:23 · 26387 阅读 · 2 评论 -
【 MATLAB 】poly 函数介绍
polyPolynomial with specified roots or characteristic polynomialSyntaxp = poly(r)p = poly(A)Descriptionp = poly(r),其中r是向量,返回其根是r元素的多项式的系数。由多项式的根求多项式,由特征多项式的根,即特征值求特征多项式。特征值的特征多项式Calc...原创 2018-10-24 15:27:13 · 27262 阅读 · 0 评论 -
【 MATLAB 】roots 函数介绍(多项式根)
rootsPolynomial rootsSyntaxr = roots(p)Descriptionr = roots(p)返回由p表示的多项式的根作为列向量。输入p是包含n + 1个多项式系数的向量,从x^n的系数开始。系数0表示在等式中不存在的中间功率。For example, p = [3 2 -2]represents the polynomial 3x^2...原创 2018-10-24 15:30:46 · 43727 阅读 · 0 评论