【 MATLAB 】DFT性质讨论(一)线性、循环反转、共轭与实序列的对称性的MATLAB实现

举报
李锐博恩 发表于 2021/07/15 05:54:21 2021/07/15
【摘要】 上篇博文通过在理论上讨论了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 =...

上篇博文通过在理论上讨论了DFT的三个性质:【 MATLAB 】DFT性质讨论(一)线性、循环反转与共轭

分别讨论:

一、线性

给出一个例子,给出x1和x2,x3 = 0.3*x1+0.8*x2;

之后我们求x3的DFT,和x1和x2的DFT的线性组合是否一致,即可验证线性性质。


  
  1. clc,clear,close all;
  2. %signal 1
  3. n1 = 0:3;
  4. x1 = [1,1,1,1];
  5. %signal 2
  6. n2 = 0:5;
  7. x2 = ones(1,6);
  8. % signal 3 = signal 1 +signal 2
  9. n3 = 0:max(length(n1),length(n2))-1;
  10. % modify x1 and x2
  11. x1 = [ones(1,4),zeros(1,length(n3)-4)];
  12. x2 = [ones(1,6),zeros(1,length(n3)-6)];
  13. x3 = 0.3*x1+0.8*x2;
  14. N = length(n3);
  15. % DFT of x1
  16. X1 = dft(x1,N);
  17. % DFT of x2
  18. X2 = dft(x2,N);
  19. % DFT of x3
  20. X3 = dft(x3,N);
  21. % Linear property
  22. X3_l = 0.3*X1 + 0.8*X2;
  23. subplot(2,1,1);
  24. stem(n3,X3);
  25. title('DFT of x3');
  26. subplot(2,1,2);
  27. stem(n3,X3_l);
  28. title('DFT of 0.3*x1+0.8*x2');

二、循环反转

给出例子:

x(n) = 10 \times (0.8)^n, 0 \leq n \leq 10

求:

a. 求出并画出 x((-n))_N

b. 验证循环反转性质。

题解:


a


  
  1. clc,clear,close all;
  2. n = 0:10;
  3. x = 10 * (0.8).^n;
  4. N = 11;
  5. y = x( mod(-n,N)+1 );
  6. subplot(2,1,1)
  7. stem(n,x);
  8. title('Original Sequence');
  9. xlabel('n');ylabel('x(n)');
  10. subplot(2,1,2)
  11. stem(n,y);
  12. title('Circularly folded Sequence');
  13. xlabel('n');ylabel('x(-n mod 10)');


b


  
  1. clc,clear,close all;
  2. n = 0:10;
  3. x = 10 * (0.8).^n;
  4. N = 11;
  5. y = x( mod(-n,N)+1 );
  6. % subplot(2,1,1)
  7. % stem(n,x);
  8. % title('Original Sequence');
  9. % xlabel('n');ylabel('x(n)');
  10. %
  11. % subplot(2,1,2)
  12. % stem(n,y);
  13. % title('Circularly folded Sequence');
  14. % xlabel('n');ylabel('x(-n mod 10)');
  15. k = n;
  16. X = dft(x,N);
  17. Y = dft(y,N);
  18. RealX = real(X);
  19. ImagX = imag(X);
  20. RealY = real(Y);
  21. ImagY = imag(Y);
  22. subplot(2,2,1);
  23. stem(k,RealX);
  24. title('DFT Real Part of x(n)');
  25. xlabel('k');ylabel('Real{ DFT(x(n)) }');
  26. subplot(2,2,2);
  27. stem(k,ImagX);
  28. title('DFT Imag Part of x(n)');
  29. xlabel('k');ylabel('Imag{ DFT(x(n)) }');
  30. subplot(2,2,3);
  31. stem(k,RealY);
  32. title('DFT Real Part of x(-n mod N)');
  33. xlabel('k');ylabel('Real{DFT(x(-n mod N))}');
  34. subplot(2,2,4);
  35. stem(k,ImagY);
  36. title('DFT Imag Part of x(-n mod N)');
  37. xlabel('k');ylabel('Imag{DFT(x(-n mod N))}');


三、共轭与时序列的对称性

我们讨论时序列的对称性,采用的例子是这篇博文中的:【 MATLAB 】模拟信号采样及离散时间傅里叶变换(DTFT)案例分析

使用的模拟信号:

x_a(t) = e^{-1000\left |t \right |}

 在 fs = 5000 对信号进行采样,可以得到离散时间序列。

之后讨论它的循环共轭对称性。


  
  1. clc
  2. clear
  3. close all
  4. % Discrete-time signal
  5. Ts = 0.0002;
  6. n = 0:25;
  7. x = exp(-1000*abs(n*Ts));
  8. N = length(n);
  9. x1 = x( mod(-n,N) + 1 );
  10. % DFT of x
  11. X = dft(x,N);
  12. X1 = dft(x1,N);
  13. X1_c = conj(X1);
  14. subplot(2,2,1);
  15. stem(n,x);
  16. title('Original sequence');
  17. xlabel('n');ylabel('x(n)');
  18. subplot(2,2,2);
  19. stem(n,X);
  20. title('DFT of x(n)');
  21. xlabel('k');ylabel('DFT{x(n)}');
  22. subplot(2,2,3);
  23. stem(n,x1);
  24. title('Circularly folded sequence');
  25. xlabel('n');ylabel('x(-n mod N)');
  26. subplot(2,2,4)
  27. stem(n,X1);
  28. title('DFT of x((-n mod N))');
  29. xlabel('k');ylabel('DFT{x(-n mod N)}');
  30. figure
  31. stem(n,X);
  32. title('DFT of x(n)');
  33. xlabel('k');ylabel('DFT{x(n)}');
  34. figure
  35. stem(n,X1_c);
  36. title('Conjugation{DFT of x((-n mod N))}');
  37. xlabel('k');ylabel('Conj{DFT{x(-n mod N)}}');

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/83507287

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。