数字信号处理DFS与DTFT关系

目录

一、用MATLAB编写DFS计算程序

二、寻找DFT和DTFT之间的关系

三、备注 DFS和DTFT求解公式 


一、用MATLAB编写DFS计算程序

The syntax is ‘y=dfs(x, k)’, where the output vector ‘y’ represents the Fourier coefficients Ck , the input vector ‘x’ represents one period of x[n], and the parameter vector ‘k’ is the indexes in Ck .

Use your ‘dfs’ function to calculate the DFS ofx[n]=2 \cos \left(\frac{2 \pi}{3} n\right)+\cos \left(\frac{\pi}{3} n\right),then use the same ‘dfs’ function to perform the inverse transform, the result x_{1}[n] should be equal to x[n].

答案如下所示:

N=6; n=0:N-1;
xn =2*cos(2*pi/3*n)+cos(pi/3*n)
y=dfs(xn,n);							 %x[n]的dfs结果
x1n=dfs(y/N,-n);						 %利用函数dfs求解x[n]
amX=abs(y);angX=angle(y);				 %求解幅度及相位
angX(amX<0.001)=0;					 %将幅度为0的相位置零
angX(angX<0.001)=0;					 %将很小的相位置零
function y=dfs(x,k)						 %dfs函数实现
    N=length(k);
    n=0:N-1;
    y=x*exp(-j*2*pi/N).^(n'*k);
end

二、寻找DFT和DTFT之间的关系

A nonperiodic sequence x_{1}[n]=u[n]-u[n-4],use your own ‘dtft’ function to find out the spectrum. A periodic sequence x_{2}[n] is the periodic extension of x_{1}[n]x_{2}[n]=\sum_{k=-\infty}^{\infty} x_{1}[n-8 k]=\sum_{k=-\infty}^{\infty}\{u[(n-8 k)]-u[(n-8 k)-4]\},use your ‘dfs’ function to find out the spectrum.

Analyze the relationship between the two spectra, including magnitude and phase spectra.
 

 

\begin{array}{l} X_{1}(\omega)=\sum_{n=-\infty}^{\infty} R_{3}[n] e^{-j \omega n}=\sum_{n=0}^{3} e^{-j \omega n}=\frac{1-e^{-j 4 \omega}}{1-e^{-j \omega}}=\frac{e^{-j 2 \omega}\left(e^{j 2 \omega}-e^{-j 2 \omega}\right)}{e^{-j \omega / 2}\left(e^{j \omega / 2}-e^{-j \omega / 2}\right)}=e^{-j 3 \omega / 2} \frac{\sin (2 \omega)}{\sin (\omega / 2)} \\ C_{k}=\sum_{n=0}^{N-1} x_{2}[n] e^{-j 2 \pi \frac{k}{N} n}=\sum_{n=0}^{3} e^{-j 2 \pi \frac{k}{N} n}=\frac{1-e^{-j 2 \pi \frac{k}{8} \cdot 4}}{1-e^{-j 2 \pi \frac{k}{8}}}=\frac{e^{-j \frac{\pi}{2} k}\left(e^{j \frac{\pi}{2} k}-e^{-j \frac{\pi}{2} k}\right)}{e^{-j \frac{\pi}{8} k}\left(e^{j \frac{\pi}{8} k}-e^{-j \frac{\pi}{8} k}\right)}=e^{-j \frac{3 \pi}{8} k} \frac{\sin \left(\frac{\pi}{2} k\right)}{\sin \left(\frac{\pi}{8} k\right)} \end{array}

We find that C_{k}=X_{1}(\omega),\left(\omega=\frac{2 \pi}{N} k, N=8\right),which proves the validity of the plotting.

x=[1 1 1 1];
y1=dtft(x,[0 1 2 3]);
x2n=[1 1 1 1 0 0 0 0]
y2=dfs(x2n,[0:7]);

figure(1)
magX1=abs(y1); %绘制x(n)的幅度谱
subplot(2,1,1);plot([0:2*pi/3999:2*pi],magX1,'b');
hold on;

magX2=abs(y2); %绘制x(n)的幅度谱
subplot(2,1,1);stem([0:2*pi/8:2*pi/8*7],magX2);
xlabel('\omega'),ylabel('|\itX\rm(\omega)|');title('Amplitude spectrum');
axis([0 2*pi 0 4]);
%set(gca,'xtickmode','manual','xtick',[0,"4\pi"]);
set(gca,'xtick',[ 0  0.5*pi pi 1.5*pi 2*pi]);
xticklabels({'0','0.5\pi','\pi','1.5\pi','2\pi'})

angX1=angle(y1); %绘制x(n)的相位谱
subplot(2,1,2);plot([0:2*pi/3999:2*pi],angX1,'b');
hold on;
angX2=angle(y2); %绘制x(n)的相位谱
subplot(2,1,2);stem([0:2*pi/8:2*pi/8*7],angX2) ;xlabel('\omega'),ylabel('\it\theta\rm(\omega)'); title ('Phase spectrum');
axis([0 2*pi -3 3]);
set(gca,'xtick',[ 0  0.5*pi pi 1.5*pi 2*pi]);
xticklabels({'0','0.5\pi','\pi','1.5\pi','2\pi'})

三、备注 DFS和DTFT求解公式
 

function y=dfs(x,k)
    N=length(k);
    n=0:N-1
    y=x*exp(-j*2*pi/N).^(n'*k);
end
function y=dtft(x,n)
    w=linspace(0,2*pi,4000);
    y=x*exp(-j*n'*w);
end
    

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No_one-_-2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值