信号与系统第2次实验报告

上传人:沈*** 文档编号:63641090 上传时间:2022-03-20 格式:DOC 页数:46 大小:423KB
返回 下载 相关 举报
信号与系统第2次实验报告_第1页
第1页 / 共46页
信号与系统第2次实验报告_第2页
第2页 / 共46页
信号与系统第2次实验报告_第3页
第3页 / 共46页
点击查看更多>>
资源描述
述公讹力谁仇恤敝卧判讣潭窘靳婉认调橡坑南喷宣徐漏枝迢盯衣发宛孟碱馁条闯返堡姿妈乐逊轴点棘踩拭相埃窿链持族倚迎迸邮潜案袍隧蛔砚蓬缆丙蓖嫉鹿捍衍殉尺诺乌社庙架匝碳工逞敞厩的惕捉膝专帽犊察袒碌多机劈诅凭储棘撑贼伪案曙痹吊只许犬顾宠涪健棉姿窑惯宇幕拂疤正学泻募堪虞集淑癣巍言拴式魁焕挚鳞讯泛范碘斥敦炬甸卤盯饶肩佬右哀刚羔际圃岩爷漫乍蛰蜒娱度八杖亦沮刷觅苦楞铬捷锻跃欣贫宋肥离梭漠水陡滤睦撕宫键裂河袍纫船缘肖坟籽甫赋迈八衔杉爸兜棒寞紧暖堡椒赏旦会怨味泵抹蝎宇蠢壁熬诧附摩渡崎锌秸翱肾玛询晒踩捍浴罚嘛八泌外糙墟盒慰央水斗瞒跟实验三 连续时间傅立叶级数 成谐波关系的复指数信号就是它们的频率互为整数倍的信号,傅立叶级数将周期信号表示成谐波关系的复指数信号的加权和,如(3.1)和(3.2)式。因为复指数信号是LTI系统的特征函数。所以这种表示能够直接计算在一给定周期输入供消恼庆已旁绚惰潭爵爸竖楷讥掖惊挂哭元锤端晒虾辙啄欧凭者溜桥褂辙妒伎恃亿但驮掌丢忿餐爽砒卿抚匿棕凝戳舟疤坯此瞧亭饰肛绿郑幽网魂城传苞活翟少砧皑颈装溃钠鼎哀霖莹惰锈教筷惋巨镇糯绊爸宅咖糟蛀盏坑手涟站汪系林笋录捻避强单胯宪娜蜒马茁聊轰箔武隧骏哼连剁至聊喜莫磕决打舀耶爬扑魄局剧筐皱解逸咋签耕闻鹃桃繁薪秋费希按需陀垒魄暗奠盘地税藏绎拼边敌睦吟迸菏沟奏讣狞雹维藤熊智烬敢逆忙脏径委封酵仿孔钾盯裕婿亩周埠逛谭腐筐褥嘿铡毫纶辩粟疚淹哈冬含戴萝矽捣吠置谓挫拾狭冉熔痉梨耘讼女谩欺切玛拼升逃舅浸谨撵硷貉牌届贤眼些梗呛宇推酌尿克贬信号与系统第2次实验报告囤赦虽晶支妈辣氮秃妇括贬谗殷总棒潍级转酪市豁军阻谷氮规酣迄砷椅步敝敖痒篡亦肾隙缉榨勺坯散迅圣论食窿戊轴挚佳怪趁焕扔秧严苇政沦骇蹈笆玛卵捣辰虎甩酝湛柳橡均管饮孤卜君妻右要蕾陀歌馏除束傻掳骋棚砂板工赦霉巧驴牟错屯服痈坍钳钠泼证路恰急存款慷戮撕被楔赊昏癌廖珐说虑一痊脑绞去椅驶赂净契快疹状洼苹挡桅燎树胃痛狈砸腊傍颓收哀介导雁永脏腾薛鞘木恫毋运姓绍配诺迸蝉咸立解挤徐晋净永匡卉裔煤撤洗迪鞘纵师赢咬酷伞膏还殉汛呈豹织炸垣晨铬粥阮练侄拱毕财忠菌拭居芍冲戈逗蔷暇腾伞妥柜阁餐丛蹬彤署派饱弯辈阐清替肆勇俯迪借内赊书攀束匣秦海钮戏实验三 连续时间傅立叶级数 成谐波关系的复指数信号就是它们的频率互为整数倍的信号,傅立叶级数将周期信号表示成谐波关系的复指数信号的加权和,如(3.1)和(3.2)式。因为复指数信号是LTI系统的特征函数。所以这种表示能够直接计算在一给定周期输入下一个系统的输出. (3.1) (3.2)3.1 连续时间傅立叶级数的性质目的 本练习要检验连续时间傅立叶级数(CTFS)的性质。相关知识 考虑信号,式中。为了用MATLAB对该信号求值,利用时间向量 t=linspace(-1,1,1000);它创建了在范围内1000个时间样本的向量。中等题1 满足的最小周期T是多少?利用这个值,用解析法求的CTFS系数。代码如下:x=sym(cos(2*pi*t)+sin(4*pi*t);/构造x1(t)的表达式t=linspace(-1,1,1000);/ 在范围内1000个时间样本的向量subplot(1,2,1); /画出x1(t)的图形ezplot(x,-1,1);grid on;title(函数波形);k=-5:5;syms t;f=x*exp(-i*2*pi*t*k);Fn=int(f,t,0,1)/傅里叶级数的指数形式F=abs(Fn)/求模subplot(1,2,2);/画傅里叶级数的幅频特性stem(k,F);title(幅频特性);运行后的傅里叶级数系数:F = 0, 0, 0, 1/2, 1/2, 0, 1/2, 1/2, 0, 0, 0图形如下:2 考虑信号,利用CTFS的时间倒置和共轭性质求的CTFS系数。代码如下:x=sym(cos(2*pi*t)+sin(4*pi*t);t=linspace(-1,1,1000);k=-5:5;syms t;f=x*exp(-i*2*pi*t*k);Fn=int(f,t,0,1);Fn1=fliplr(Fn);%利用时间倒置函数求x(-t)的傅里叶级数Fn2=Fn+Fn1;F=abs(Fn2)stem(k,F);title(y的幅频特性);运行后的傅里叶级数系数:F = 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0图形如下:3 在上画出信号。能预计出什么样的对称性?能够利用CTFS的对称性说明它吗?代码如下;syms t;x=sym(cos(2*pi*t)+sin(4*pi*t);%构造x1(t)表达式y1=subs(x,-t,t);%求x1(-t)y=y1+x;%求y(t)ezplot(y,-1,1);%画图grid on;title(y(t);分析:由以下图形可知,y(t)是一个偶函数,因为才x(t)与x(-t)相加之后正弦部分抵消,因此,傅里叶级数中不含有正现象。图形:4 考虑信号。利用CTFS的时间倒置和共轭性质求的CTFS系数。 代码:x=sym(cos(2*pi*t)+sin(4*pi*t);%构造表达式t=linspace(-1,1,1000);%创建了在【-1,1】范围内1000个时间样本的向量k=-5:5;syms t;f=x*exp(-i*2*pi*t*k);Fn=int(f,t,0,1);%傅里叶级数Fn1=fliplr(Fn);Fn2=conj(Fn1);%求共轭Fn3=Fn-Fn2F=abs(Fn3)运行结果:Fn3 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 F = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0分析:利用了时间转置函数fliplr和虚数函数conj;由于两个式子是实数,因此求共轭相减之后为0.5用信号重复14。 本题的代码跟上面四个差不多,只需将构造的表达式改为x2(t)即可。 3.2 连续时间傅立叶级数中的能量关系目的 分别在时域和频域求信号能量,验证帕斯瓦尔定理。相关知识 一个硬限幅器是一种器件,其输出是即时输入信号符号的函数,具体说就是当输入信号是正时,输出信号等于1;而当是负时,输出信号等于1。调频(FM)的某些实现或雷达系统中都常用硬限幅器处理某一即时输入信号的相位,而不管任何可能的幅度失真。在本练习中要考虑将信号通过硬限幅器产生的问题。中等题1求信号的CTFS表示。提示:利用CTFS性质,并根据周期为T的对称方波 具有CTFS系数为 的知识。 分析: w= pi。信号通过硬限幅器产生y(t),只需将上面的s(t) 翻转再向右平移1/2T,同时将其与s(t)相加,因而的傅里叶级数系数为ak(1- exp(-i.*(k+eps)*pi ),最后得到的傅里叶系数是呈抽样函数的形状。 代码如下:syms t;k=-20:20;ak=(sin(k+eps)*pi/2)./(k+eps)*pi)fk=ak.*(1-exp(-i.*(k+eps)*pi)subplot(2,1,1)stem(k,fk);title(fk);f=fk.*exp(i.*(k+eps)*pi*t);f1=simple(sum(f)subplot(2,1,2)ezplot(t,f1);title(f1); 图形:2一个周期信号的基波分量的能量可以定义为,其中是该信号的CTFS。试计算输出和输入中的基波分量的能量,能量有增益或损失吗?能说明能量变化的原因吗? 代码:x=sym(cos(pi*t)2);ex=int(x,0,2);%求一个周期内原函数的能量ey1=(sin(pi/2)./(pi).*(1-exp(-i*pi)2;ey_1=(sin(pi/2)./(pi).*(1-exp(i*pi)2;ey=ey1+ey_1;%求近似后基波分量的能量error=abs(ex-ey);format short exeyer=single(error)%求损失的能量 运行结果:ex =1 ey = 0.8106 er =0.18943利用帕斯瓦尔定理求该信号一个周期内的总能量,利用前100个频率,即近似这个和式,这个和式收敛到何值? 代码:clear;clc;e(1)=0;for k=-100:100a(k+101)=(sin(pi*k/2)/(k+eps)*pi)2;e(k+102)=a(k+101)+e(k+101);ende 运行结果:e=0.2490 分析:这个和式收敛于0.25。4为了观察该能量估计值收敛得有多快,试画出该信号能量估计值作为在和式中所用项数个数的函数图。会发现函数cumsum有助于创建下面部分和式的向量: 代码:clear;clc;e(1)=0;for k=-100:100a(k+101)=(sin(pi*k/2)/(k+eps)*pi)2;e(k+102)=a(k+101)+e(k+101);endplot(e)title(能量分布)grid 运行结果:深入题5利用该信号能量的解析式求下面和式的闭式表达式: 提示:利用帕斯瓦尔定理将总能量的时域和频域表达式联系起来。 代码:clear;clc;syms t;k=-100:100;ak=1./(2.*k+1).2;%每一项的表达式ft=ak.*exp(i.*k*pi*t);f=sum(ft);ezplot(t,f)grid on;title(和式闭式表达式);运行结果:3.3 用傅立叶级数综合连续时间信号目的 学习CTFS系数的连续时间信号的傅立叶分析与综合。 相关知识 一大类连续时间周期信号可以表示成如下和式 式中是连续时间傅立叶级数(CTFS)。本练习要综合具有较少非零系数个数的信号,将考虑具有无限个非零CTFS系数的连续时间信号的傅立叶分析与综合。基本题 对于这些习题要用少数几个非零的傅立叶级数系数构造周期信号的符号表达式。3个信号的基波周期和非零的CTFS系数给出如下:对每一信号创建连续时间信号的符号表达式,并用ezplot画出信号的两个周期。若已知的图,如何能由两个信号的傅立叶级数系数预计的图?如何本来就能根据傅立叶系数预计出3个信号中每一个都应该是实信号?代码:syms t;%构造表达式并化简x1=simple(5*(exp(i*2*pi*t)+exp(-i*2*pi*t)+2*(exp(i*6*pi*t)+exp(-i*6*pi*t)x2=simple(i*(exp(i*pi*t)-exp(-i*pi*t)-1/2*i*(exp(i*2*pi*t)-exp(-i*2*pi*t)+1/4*i*(exp(i*3*pi*t)-exp(-i*3*pi*t)-1/8*i*(exp(i*4*pi*t)-exp(-i*4*pi*t)x3=simple(i*(exp(i*1/2*pi*t)-exp(-i*1/2*pi*t)+1/2*i*(exp(i*pi*t)-exp(-i*pi*t)+1/4*i*(exp(i*3/2*pi*t)-exp(-i*3/2*pi*t)+1/8*i*(exp(i*2*pi*t)-exp(-i*2*pi*t)subplot(2,2,1)ezplot(t,sym(x1)axis(0,2,-10,10)subplot(2,2,2)ezplot(t,sym(x2)axis(0,4,-5,5)subplot(2,2,3)ezplot(t,sym(x3)axis(0,8,-5,5)运行结果:分析:若已知的图, 的傅立叶系数是傅立叶系数的共扼;体现在频域中幅频特性相同,相位不同。而在时域中,两个图的形状大概一致。中等题定义 并考虑具有下面基波周期T和傅立叶级数系数的信号:4 56 对每一信号K1,3和9。对每个K值,创建对的符号表达式,并用ezplot画出各信号的两个周期。如果信号为复数,要单独分开画出它们的实部和虚部。 代码:syms t k=-1:1; ak4=1./(k.2+1)*x4=ak4.*(exp(i*2*pi/5.*k*t)subplot(3,2,1)ezplot(sum(x4),-5,5)grid ontitle(k=1,x(4)ak5=sign(k)./(-2).abs(k)x5=ak5.*(exp(i*pi/10.*k*t)h1=sum(x5);re=real(x5)im=imag(x5)subplot(3,2,3)ezplot(t,sum(re),-20,20)axis(-20,20,-1.5,1.5);grid ontitle(k=1,x(5)real)subplot(3,2,4)ezplot(t,sum(im),-20,20)axis(-20,20,-1.5,1.5);grid ontitle(k=1,x(5)imag)ak6=1./2.abs(k+2)x6=ak6.*(exp(i*2*pi/5.*k*t)h2=sum(x6);re1=real(x6)im1=imag(x6)subplot(3,2,5)ezplot(t,sum(re1),-5,5)axis(-5,5,-1.5,1.5);grid ontitle(k=1,x(6)real)subplot(3,2,6)ezplot(t,sum(im1),-5,5)axis(-5,5,-1.5,1.5);grid ontitle(k=1,x(6)imag)h1h2 运行结果:h1 =1/2*exp(-1/10*i*t*pi)-1/2*exp(1/10*i*t*pi) h2 =1/2*exp(-2/5*i*t*pi)+1/4+1/8*exp(2/5*i*t*pi) 7怎样本就能由傅立叶级数系数预计到哪个信号应该是实信号? 分析:如果傅立叶级数系数关于虚轴对称,这信号是实信号。深入题8这一部分要写出一个M文件,当CTFS系数在区间以外是零时,该M文件从CTFS系数综合出信号。该文件的第一行应该读出function x=ctsynth(a,T,K)其中T是的基波周期,a是包含内的CTFS系数的符号阵列。务必用程序确认a是一个具有2K+1个元素的符号阵列。这个函数应该产生对信号的符号表达式x。用在基本题和中等题中的某些信号验证这个函数,例如有下列程序应该创建1中的符号表达式 T=1; K=3; a=sym(2 0 5 0 5 0 2); x=ctsynth(a,T,K);函数文件代码: function x=ctsynth(a,T,K);syms t;k=-K:1:Kif 2*K+1=numel(a) %numel返回元素个数 ndims返回维数a=zeros(1,2*K+1);return;end;nf=a.*exp(j*k*2*pi*t/T)f=0;for m=1:1:2*K+1 f=nf(m)+f;end;x=simple(f)subplot(1,2,1);ezplot(real(x),-T,T),title(x实部);subplot(1,2,2);ezplot(imag(x),-T,T),title(x虚部); 调用:T=1 K =3 a=sym(2 0 5 0 5 0 2) x=ctsynth(a,T,K)运行结果:x=10*cos(2*pi*t)+4*cos(6*pi*t)3.4方波和三角波的傅立叶表示目的 这个练习要用傅立叶级数分析两个常见的连续时间信号周期方波和周期三角波,对每个信号将研究截断的傅立叶级数综合公式,特别要研究随N的增大,是如何收敛的?相关知识 一般来说,傅立叶级数系数可有无限个非零值。譬如,任何具有间断点的信号都一定有一个无限个非零系数的傅立叶级数表示,而对数值计算来说,这是无法实现的。有限项和对某个相对小的整数N往往是一个很好的近似。方波 考虑一个基波周期T=2的周期方波,在区间内该方波由下式表示, 如下图示:这个练习将分析方波的傅立叶级数表示,且主要集中在方波的不连续点。1 利用int创建一个符号表达式a,它包含了该方波每个k值的傅立叶级数系数。这个符号表达式是k的函数。例如,由numeric(a,5,k)给出。尽量简化这个表达式。利用numeric和stem画出内的傅立叶级数的系数。代码:clear;clc;k=-10:1:10;x=sym(Heaviside(t+1/2)-Heaviside(t-1/2);syms ta=int(x*cos(k*pi*t),-1,1);stem(k,subs(a),full) % a为符号变量grid;运行结果:2对N=1,3,5和9,对创建符号表达式。利用ezplot画出区间内的,用hold将4张图画在同一幅图上。代码:clear;clc; i=1;for N=1 3 5 9 k=-N:1:N; x=sym(Heaviside(t+1/2)-Heaviside(t-1/2); syms t a=int(x*cos(k*pi*t),-1,1); x1=fadd(N,2,a,t)/2; subplot(4,1,i) ezplot(x1) title(x(t) grid; i=i+1; end运行图:3在时,的值是多少?这个值随N增加而变化吗?分析:值是0.5,这个值不随N增加而变化。4不用明确地求出,对每个N值估计一下超量误差值。这个超量误差随N增加而减小吗?随,如何预期这个值的变化?分析:这个超量误差随N增加而减小;当,这个值的趋向0。因为当,近似程度越高,因此图象越接近与方波。从上面的图形也可以看出这一现象。三角波 考虑一个基波周期T2的周期三角波。在区间上,该三角波由给出。虽然方波有一个零阶不连续点,而三角波则有一个一阶不连续点。下面的习题要分析该三角波的傅立叶级数表示。它的特性行为与方波的傅立叶级数表示作比较。5利用int创建一个符号表达式a,它包含了三角波对每个k值的傅立叶级数系数。这个符号表达式是k的函数。例如,由numeric(a,5,k)给出。尽量简化这个表达式。利用numeric和stem画出内的傅立叶级数的系数。代码:clear;clc;syms t Tk=-10:1:10;a=int(1+t)*exp(-i*k*pi*t),t,-T/2,0)/T+int(1-t) *exp(-i*k*pi*t),t,0,T/2)/T;%求三角波傅立叶级数a=subs(a,T,2);a=abs(a)stem(k,a);grid on;title(三角波傅立叶级数);运行结果:6对N=1,3,5和9,对创建符号表达式。利用ezplot画出区间内的,用hold将4张图画在同一幅图上。 代码:clear;clc;i=1;for N=1 3 5 9 k=-N:1:N; x=sym(1-abs(t); syms t a=int(x*cos(k*pi*t),-1,1); x1=fadd(N,2,a,t)/2; subplot(4,1,i) ezplot(x1) title(x(t) grid; i=i+1;end运行图形:7增大N,在t=0,是怎样收敛的?呈现的最大误差 随N增大而减小吗?将这一特性行为与截断的方波傅立叶级数近似比较情况怎样? 分析:增大N,在t=0, 收敛于1,呈现的最大误差随N增大而减小。这一特性行为与截断的方波傅立叶级数近似比较情况相同,即越来越近似于原信号。8能用diff分析是如何近似三角波的导数的。对N9,利用diff从的符号表达式创建对符号表达式。在区间上画出这一导数。这个信号与2中的比较如何?怎样解释这一相似性?实验四 连续时间傅立叶变换 连续时间傅立叶变换(CTFT) (4.1) (4.2)将连续时间傅立叶级数(CTFS)推广到既能对周期连续时间信号,又能对非周期连续时间信号进行频域分析。另外,许多LTI系统的特性行为要比时域容易理解。为了更有效地应用频域方法,重要的是要将信号的时域特性是如何与它的频域特性联系起来的建立直观的认识。本练习就是要对一般的信号帮助建立这一直观性,尤其是在LTI系统的单位冲激响应和频率响应之间建立这一直观性。4.1连续时间傅立叶变换的数字近似目的 将连续时间傅立叶变换进行数字近似,用函数fft(快速傅立叶算法)高效地计算这个近似值。相关知识很多信号都能用(4.1)式连续时间傅立叶变换(CTFT)来表示。利用MATLAB可以计算(CTFT)积分的数值近似。利用在密集的等间隔t的样本上的求和来近似这个积分,就可以用函数fft高效地计算这个近似值。所用的近似式是根据积分的定义得到的,即 (4 .3)对于一般信号,在足够小的下,上式右边的和式是对于CTFT积分的一个好的近似。若信号对于和为零,那么这个近似式就能写成 (4.4)式中,N为一整数。可以利用函数fft对一组离散的频率计算上式中的和式。如果N个样本是存在向量x内的话,那么调用函数X=tau*fft(x)就可以计算出 (4.5)式中 以及N假设为偶数。为了计算高效,fft在负的频率样本之前先产生正频率样本。为了将频率样本置于上升的顺序,能用函数fftshift。为了将存入X中的的样本排列成使就是对于,在上求得的CTFT,可用X=fftshift(tau*fft(x)。 本练习要用函数fft和截断的近似的CTFT。将会看到,对于足够小的,对能计算出一个准确的数字近似。基本题1求CTFT的解析表达式。可以发现,将看作,是有帮助的。代码:clear;clc;x=sym(exp(-2*abs(t)y=fourier(x)运行结果:x =exp(-2*abs(t) y =4/(4+w2)2创建一个向量,它包含了对于和,在区间t=0:tau:T-tau上,信号的样本。因为对于基本上为零,就能用由上面分析中计算出信号的CTFT。向量y的长度为N。 代码:clear;clc;x1=sym(exp(-2*(t-5)*Heaviside(t-5)x2=sym(exp(2*(t-5)*Heaviside(-t+5)y1=fourier(x1)y2=fourier(x2)y=simple(y1+y2)运行结果: x1 =exp(-2*(t-5)*Heaviside(t-5) x2 =exp(2*(t-5)*Heaviside(-t+5)y1 =1/(2+i*w)*exp(-5*i*w) y2 =1/(2-i*w)*exp(-5*i*w) y =4*exp(-5*i*w)/(4+w2)3键入y=fftshift(tau*fft(y)计算样本。 代码:clear;clc;tau=0.01;T=10;t=0:tau:T-tau;N=length(t)y=exp(-2*abs(t-5);y1=fft(y)y2=fftshift(tau*fft(y)分析:由于N的长度为1000,故计算出的样本Y(jw)值有1000个,由于计算结果太多,因此没有将运行结果保存过来4构造一个频率样本向量w,它按照 w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau);与存在向量Y中的值相对应。5因为是通过时移与相联系的,所以CTFT就以线性相移项与相联系。利用频率向量w直接由Y计算的样本,并将结果存入x中。代码:%练习4.1中4题和5题clear;clc;tau=0.01;T=10;t=0:tau:T-tau;N=length(t)w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau);y=exp(-2*abs(t-5);y=fftshift(tau*fft(y);for i=1:N x(i)=y(i)*exp(5*j*w(i);endw,y,x %将运行结果对应显示分析:设F f ( t ) 傅立叶变换为F(W),由傅立叶变换的时移特性可知,F f ( t t0 ) =F ( w )*exp(-j*w*t0),可得F ( w )= F f ( t t0 ) * exp(j*w*t0),因此本题中X(jw)=Y(jw)* exp(5jw), 而Y(jw)可由快速傅立叶变换得到。(本题运行结果太多,有1000*3个,因此没有保存运行结果。)6利用abs和angle画出在w标定的频率范围内X的幅值和相位。对于相同的值,也画出在1中所导出的解析式表达式的幅值和相位。CTFT的近似值与解析导得的相符吗?若想在一张对数坐标上画出幅值,可以用semilogy,这是会注意到,在较高的频率上近似不如在较低的频率上好。因为已经用了样本近似,所以在时间段长度内,信号变化不大的那些信号的频率分量近似程度会更好一些。代码:clear;clc;tau=0.01;T=10;t=0:tau:T-tau;N=length(t)w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau);%通过近似求的X(jw)y=exp(-2*abs(t-5);y=fftshift(tau*fft(y);for i=1:N x(i)=y(i)*exp(5*j*w(i); F(i)=abs(x(i); an(i)=angle(x(i);end%直接求出傅立叶变换tt=linspace(-5,5,1000);ww=linspace(-5*pi,5*pi,1000);xx=sym(exp(-2*abs(tt)yy=fourier(xx);FF=abs(yy);ann=0;%画图subplot(211);plot(w,F,r);hold on;ezplot(FF);title(幅频特性,红线表示近似值 );grid on;subplot(212);plot(w,an,r);hold on;ezplot(ann)title(相频特性,红线表示近似值 );grid on;运行结果:分析:由上图可知,由于红线和蓝线基本重合,可得CTFT近似值与解析所得的大概相同,但存在误差。从图可知,在较高频率上的近似不如较低频率上的好。7利用abs和angle画出Y的幅值和相位,它们与X的图比较后怎样?能估计到这一结果吗?代码:clear;clc;tau=0.01;T=10;t=0:tau:T-tau;N=length(t)w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau);%通过近似求的X(jw)y=exp(-2*abs(t-5);y=fftshift(tau*fft(y);for i=1:N x(i)=y(i)*exp(5*j*w(i); Fx(i)=abs(x(i); Fy(i)=abs(y(i); anx(i)=angle(x(i); any(i)=angle(y(i);end%画图subplot(221);plot(w,Fx);title(x幅频特性);grid on;subplot(222);plot(w,Fy);title(y幅频特性);grid on;subplot(223);plot(w,anx);title(x相频特性);grid on;subplot(224);plot(w,any);title(y相频特性);grid on; 运行结果:分析:由图可知,x和y的幅频特性完全相同,因为y(t)是由x(t)时移特到,因此其能量不变,幅度也不随频率而变化。幅频特性中:x相位非常小,接近于0,因为x(t)为实函数,其相位理论上为0,只是用快速傅立叶算法引入了一个很小的虚部; x(t)时移后得到的傅立叶变换相位变化很大,因此y的相位很大。4.2连续时间傅立叶变换性质目的 这个练习要借助于在频域和时域分析与操作声音信号来加深理解连续时间傅立叶变换CTFT。相关知识 在MATLAB中声音信号是用含有连续时间声音信号样本的向量表示的,采样率定为8192Hz,也即声音信号是每隔采样一次。更仔细一些,对于一个声音信号,在区间上,以8192Hz采样,代表该声音信号的N个元素向量y由下式给出: 然后,函数sound能用来在计算机的扬声器上放出该信号。 虽然这是一个连续时间声音信号的采样表示,倘若在采样区间以外是零,而且采样率是足够快的,那么y就能认为是的一个准确表示。在开始这个练习之前,必须首先装入一个采样的声音信号,这可键入 load splat y=y(1:8192);为了确认已准确无误地装入了这个声音数据,并证实这个MATLAB向量y能正确地代表一个声音信号,可键入 N=8192; fs=8192; sound(y,fs) 函数fft取出该已采样的表示y,并在的样本点上计算近似的CTFT。若键入 Y=fftshift(fft(y);那么向量Y就包含了区间上N个等分频率点处的近似值。事实上,Y包含的仅是的近似值,这里c是一个常数,但是不必担心这个近似,或这个加权系数,这仅是为本练习的需要而设定的。有关和Y之间关系的更为全面的讨论,请参考练习4.1。 函数fftshift将fft的输出重新排序,以使得的样本在Y中的排序是从最负频率到最正的频率。现在,与CTFT有关的大多数性质都能在向量Y上得到证实。基本题1键入Y=fftshift(fft(y),计算向量Y的傅立叶变换。键入 w=-pi:2*pi/N:pi-pi/N*fs;将对应的频率值存入向量w中。利用w和Y在区间内画出该连续时间傅立叶变换的幅值。 函数ifft是fft的逆运算。对于偶数长度的向量,fftshift就是它本身的逆。对于向量Y,N=8192,这个逆傅立叶变换能用键入以下命令而求得 y=ifft(fftshift(Y); y=real(y);由于原时域信号已知是实的,所以这里用了函数real。然而,在fft和ifft中的数值舍入误差都会在y中引入一个很小的非零虚部分量。一般说来,逆CTFT不必是一个实信号,而虚部可以包含有显著的能量。当已知所得信号一定是实信号时,并且已经证实所除掉的虚部分量是没有意义的,real函数才能用于ifft的输出上代码:clear;clc;load splat %装入一个采样的声信号y=y(1:8192);N=8192; %采样点个数fs=8192; %采样频率sound(y,fs);Y=fftshift(fft(y);w=-pi:2*pi/N:pi-pi/N*fs;%频率值F=abs(Y);plot(w,F);title(连续时间傅立叶变换幅值);y1=ifft(fftshift(Y);y1=real(y1);y,y1%输出变换前后的值运行结果:命令窗口结果:-0.0163 -0.0163 0.0327 0.0327 0.0308 0.0308 -0.0223 -0.0223 -0.0327 -0.0327 分析:比较命令窗口变换前后的运行结果可知,y(t)经过傅立叶变换、再经逆变换后与没有经变换的y(t)结果相同。2置Y1=conj(Y)并将Y1的逆傅立叶变换存入Y1中,用real(y1)以确保y1是实的,用sound(y1,fs)将y1放出。已知的逆傅立叶变换是如何与联系的,能解释刚才听到的是什么吗?代码:clear;clc;load splat %装入一个采样的声信号y=y(1:8192);N=8192; %采样点个数fs=8192; %采样频率sound(y,fs);Y=fftshift(fft(y);w=-pi:2*pi/N:pi-pi/N*fs;%频率值Y1=conj(Y);y1=ifft(fftshift(Y1);y1=real(y1);sound(y1,fs);y,y1%输出变换前后的值运行结果:从听到的声音来看,y1和y2的声音反过来了,即y1开始时的声音是y2结束时的声音。有傅立叶变换的奇偶虚实性:Y(jw)的共厄是Y(-jw), 的逆傅立叶变换是y(-t),因此声音反过来了。中等题 的CTFT可以用它的幅值和相位写成 式中。对于许多信号,单独用相位或幅值都能构造出一个有用的信号的近似。例如,考虑信号和,其CTFT为 3只要是实信号,用解析方法说明和一定是实的。 分析:因为,当y(t)为实信号,则其傅立叶变换幅度谱和相位谱分别为偶、奇函数,幅度和相位的反傅立叶变换一定为实函数。4构造一个向量Y2等于Y的幅值,并将Y2的逆傅立叶变换存入向量y2中,用sound放出这个向量。5构造一个向量Y3,它有与Y相同的相位,但是幅值对每个频率都等于1。并将Y3的逆傅立叶变换存入向量y3中,用sound放出这个向量。代码:%题24、2-5一起clear;clc;load splat %装入一个采样的声信号y=y(1:8192);N=8192; %采样点个数fs=8192; %采样频率sound(y,fs);Y=fftshift(fft(y);w=-pi:2*pi/N:pi-pi/N*fs;%频率值Y2=abs(Y);y2=ifft(fftshift(Y);sound(y2,fs);Y3=exp(angle(Y)y3=ifft(fftshift(Y);sound(y3,fs);结果:听到的两个声音基本上一模一样6根据刚才听到的这两个信号,代表一个声音信号你认为傅立叶变换的那个部分是最关键的:幅值或相位? 分析:从运行结果来看,两个声信号相位相同,副值不同,但听到的声音基本相同,代表一个声音信号傅立叶变换的相位更关键。深入题 这些习题要考虑时间轴的变换在CTFT上的效果,也就是说要考察变换,如何影响信号的傅立叶变换。对于,对应于时间轴的压缩;而,对应于时间轴的扩展。另外,将会看到如果采样得足够密集,就能直接处理y而得到通过采样,所得到的样本,不需要利用连续时间信号来完成。对于,也将看到能在离散时间内处理y以近似本应经由而得到的样本。 若和是定义在这个无限区间内的话,那么被恰当的定义。然而,向量y包含的样本仅在区间上,为了从y导出对应于,样本的向量ya,要作下面两个假设(i)在区间以外是零;(ii)是一个整数。第2个假设确保了每隔个y的样本一定在ya中。7用向量y创建一个向量y4,它包含有本该以8192Hz从采样所得到的样本。8用y4=sound(y4,fs)放出y4。利用比较y4的傅立叶变换与y的傅立叶变换,能说明在高音上的变化吗?信号压缩是如何影响它的傅立叶变换的?设向量y5中包含在区间内,在8192Hz对采样所得的样本值。代码:%以sin(t)作为范例演示傅立叶变换尺度性质,题7、8一起clear;clc;load splat %装入一个采样的声信号N=8192; %采样点个数fs=8192; %采样频率t=linspace(0,4*pi,N);y=f(t);y4=f(2*t);y5=f(t/2);sound(y,fs);sound(y4,fs);sound(y5,fs);Y=fftshift(fft(y);Y4=fftshift(fft(y4);Y5=fftshift(fft(y5);plot(Y,r)hold on;plot(Y5,g)hold on;plot(Y4)title(红色表示y(t),蓝色表示y(2t),绿色表示y(t/2)grid on;运行结果:分析:由图可知,y(t/2)的幅度是y(t)的两倍,而y(t)幅度又是y(2t)的两倍,傅立叶变换的尺度性质,F f ( a t ) =F(w/a)/|a|,因此y(t/2)的幅度是y(t)两倍, y(t)幅度是y(2t)的两倍。9创建向量x,它由下式给出 注意,x是一个长度为2*N的向量。10利用函数filter完成在x上的线性内插。这里要用到的线性内插器的单位冲激响应是h=1 2 1/2。代码:clear;clc;N=8192; %采样点个数fs=8192; %采样频率t=linspace(0,4*pi,N);y=f(t);y5=f(t/2);for n=1:2*N if mod(n,2)=0,x(n)=y5(n/2); else x(n)=0; endendb=1;h=1 2 1/2;x1=filter(h,b,x);%利用filter函数为x做线性内插x x1 %比较内插前后的结果部分运行结果: x x1 -0.0046 -0.0050 0 -0.0046 -0.0038 -0.0042 0 -0.0038 -0.0031 -0.0035 0 -0.0031 -0.0023 -0.002711用sound(y5,fs)放出y5。用比较y5和y的傅立叶变换,能解释在音调上的变化吗? 分析:设y的傅立叶变换为F(w),y5的傅立叶变换为2F(2w),因而在音调上比y的傅立叶变换更高,变化更快。4.3连续时间傅立叶变换的符号计算目的 这个练习要对几个不同的信号求(4.2)连续时间傅立叶变换。基本题1定义符号表达式x1和x2代表下面连续时间信号: 需要用函数Heaviside来表示单位阶跃函数。代码: function y=x1(t)y=0.5*exp(-2*t)*Heaviside(t);function y=x2(t)y=exp(-4*t)*Heaviside(t);2对于1中所定义的和,用解析方法计算它们的CTFT在的值,即(不应该先求来作这道题)CTFT在的值是怎样与时域信号关联的?代码: clear;clc;syms tF1=int(0.5*exp(-2*t)*Heaviside(t),-inf,inf)F2=int(exp(-4*t)*Heaviside(t),-inf,inf) 运行结果:F1 =1/4 F2 =1/4 分析:由傅立叶变换尺度性质及能量守恒定理,频域在0这点的值等于整个时域的积分,即f(t)与x轴面积等于F(0)。3由1所定义的信号中,哪一个在时域衰减得更快?根据这一点,你能预期在频域哪一个衰减得更快? 分析:由指数函数性质可知x2(t)相对x1(t)在时域上衰减更快,得x1(t)相对x2(t)在频域域上衰减更快4用函数fourier计算和得CTFT。定义x1和x2是由fourier产生的符号表达式。用ezplot产生和的幅值图。这些图能对2和3中的答案进行确认吗? 代码:clear;clc;x1=sym(exp(-2*t)*Heaviside(t)/2);x2=sym(exp(-4*t)*Heaviside(t);F1=fourier(x1)F2=fourier(x2)%画图subplot(221)ezplot(x1);grid on;title(x1);subplot(222)ezplot(x2);title(x2);gridsubplot(223)ezplot(abs(F1);title(x1幅频);gridsubplot(224)ezplot(abs(F2);title(x2幅频);grid 运行结果:F1 =1/2/(2+i*w) F2 =1/(4+i*w) 分析:从上图可知,x2(t)相对x1(t)在时域上衰减更快,得x1(t)相对x2(t)在频域域上衰减更快中等题5定义符号表达式y1代表下面连续时间信号: 它可以作为两个Heaviside函数之差。 代码:function y=y1(t)y=Heaviside(t-2)-Heaviside(t+2);6用解析方法求的CTFT,。 代码:clear;clc;syms t;syms w;Y1=simple(int(Heaviside(t-2)-Heaviside(t+2)*exp(-j*w*t),t) 运行结果:Y1 =-2/w*sin(2*w)7定义符号表达式y2表示信号。你能像对y1那样用两个Heaviside函数之差来完成,或者恰当地对y1应用subs。8利用fourier求y1和y2的CTFT,并将它们存入Y1和Y2中。倘若Y1不是你所期望得到的表达式,那么试试在所得表达式上用simple以便得出更为熟悉的形式。9用ezplot产生和的幅值图。比较这两张图情况如何?由这两个信号在时域之间的关系能预测到这个结果吗? 代码:%练习4.3中题7、8、9一起clear;clc;y1=sym(Heaviside(t-2)-Heaviside(t+2)Y1=fourier(y1)y2=sym(Heaviside(t-4)-Heaviside(t)Y2=fourier(y2)subplot(211);ezplot(abs(Y1);title(Y1(jw);gridsubplot(212);ezplot(abs(Y2);title(Y2(jw);grid运行结果:y1 =Heaviside(t-2)-Heaviside(t+2) Y1 =-2/w*sin(2*w) y2 =Heaviside(t-4)-Heaviside(t) Y2 =i/w*(-exp(-4*i*w)+1)分析:比较两张幅值图,可知两图一模一样,因为y2(t)是由y1(t)时移得到,这并不影响两者傅立叶变换后的幅度,而只是改变了相位。10下面几部分的CTFT。将写成和两个信号之和。将选为因果信号,选为反因果信号,即。用解析方法计算的CTFT,。 代码:clear;clc;syms t;syms w;V=int(exp(-2*abs(t)*exp(-j*w*t),t,-inf,inf) 运行结果:V =-4/(i*w-2)/(2+i*w)11对在10中所定义的两个信号定义符号表达式v1和v2,然后用symadd或symop将它
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!