实验二 用matlab实现傅立叶变换

更新时间:2023-06-28 09:08:25 阅读: 评论:0

     
实验课程:  信号与系统——MATLAB综合实验                         
学生姓名:      赖硕秋氯化钠                     
    号:      6100208060                     
专业班级:      电子081                     
         
2010    4  15
实验二 matlab实现傅立叶变换
实验目的:    1.掌握傅立叶数值实现方法(矩阵算法)
              2.生成连续周期信号,掌握程序优化技巧
              3.对于自定义函数参数有效性的检查
              4.复习并巩固“信号与系统”相关知识内容,学习用matlab实现问题
实验环境:运行于Matlab7.6环境
实验内容: 本次实验参照《信号与系统》——Matlab综合实验”55页课后练习
习题:
1. 如图4.4所示锯齿波信号,分别去一个周期的抽样数据X1t),巨蟹座处女座0<=t<=1和五个周期的数据Xt),0<=t<5,计算其傅立叶变换X1w)和Xw),比较有和不同并解释原因。
图4.4  练习题2图
编程如下:
方法1
%计算单位锯齿波和五个周期波形的傅立叶变换 
%解法1:基本用循环实现数值的计算;对于5个周期锯齿波用内外循环来生成实现
T1=1;                                  %一个周期锯齿波
N1=10000;
t1=linspace(0,T1-T1/N1,N1)';
f1=0*t1;
f1=1-2*t1;
OMG=32*pi;                              %频率抽样区间
K1=100;                                  %频率抽样点数
omg=linspace(-OMG/2,OMG/2-OMG/K1,K1)';
X1=0*omg;
for k=1:K1                              %求解五个周期函数的傅里叶变换系数
    for n=1:N1
害羞的近义词
  X1(k)=X1(k)+T1/N1*f1(n)*exp(-j*omg(k)*t1(n));
    end
end
fs1=0*t1;
    for n=1:N1                          %通过傅里叶逆变换还原原函数
        for k=1:K1
            fs1(n)=fs1(n)+OMG/2/pi/K1*X1(k)*exp(j*omg(k)*t1(n));
        end
    end
    T2=5;                                %五个周期锯齿波
N2=10000;
t2=linspace(0,T2-T2/N2,N2)';
f2=0*t2;
t3=linspace(0,T2/5-T2/N2,N2/5)';        %先定义一个周期内的锯齿波变量抽样值
f3=0*t3;                                %初始化一个周期的函数抽样值
f3=1-2*t3;                              %表示出一个周期内函数抽样值
for s=0:4                                %将一个周期锯齿波平移到五个周期,通过循环控制二月英文单词
    for a=1:N2/5
      f2(2000*s+a)=f3(a);
    end
end                                      %将函数拓展表示为五个周期
X2=0*omg;
for k=1:K1                              %求解五个周期函数的傅里叶变换系数
    for n=1:N2
  X2(k)=X2(k)+T2/N2*f2(n)*exp(-j*omg(k)*t2(n));
    end
end
fs2=0*t2;
    for n=1:N1                          %通过傅里叶逆变换还原原函数
        for k=1:K1
          fs2(n)=fs2(n)+OMG/2/pi/K1*X2(k)*exp(j*omg(k)*t2(n));
        end
跳水鱼的做法
    end
短发型女
  figure;
  subplot(2,2,1);
  plot(omg,abs(X1),'r');                  %以幅度频谱画图
  xlabel('Frequency'),ylabel('Amplitude');
  title('单个锯齿波的幅频曲线');
  subplot(2,2,2);
  plot(t1,fs1,'r');
    xlabel('Second(s)'),ylabel('Amplitude');
      title('由频域还原时域函数');
  subplot(2,2,3);
交叉的近义词
  plot(omg,abs(X2),'r');
    xlabel('Frequency'),ylabel('Amplitude');
    title('五个周期锯齿波的幅频曲线');
  subplot(2,2,4);
  plot(t2,fs2,'r');
    xlabel('Second(s)'),ylabel('Amplitude');
  title('由频域还原时域函数');
相关曲线:
方法2
%一站到底主持人计算单位锯齿波和五个周期波形的傅立叶变换
%解法2:数值算法用矩阵实现,大大加快了运行速度;并且直接调用“sawtooth”生成5个周期的锯齿波
T1=1;                                  %单个周期时域范围 

本文发布于:2023-06-28 09:08:25,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1057751.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实现   锯齿   信号   实验   抽样   函数   还原
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图