北京工业大学信号处理工程应用训练.docx

上传人:b****2 文档编号:800248 上传时间:2022-10-13 格式:DOCX 页数:80 大小:1.01MB
下载 相关 举报
北京工业大学信号处理工程应用训练.docx_第1页
第1页 / 共80页
北京工业大学信号处理工程应用训练.docx_第2页
第2页 / 共80页
北京工业大学信号处理工程应用训练.docx_第3页
第3页 / 共80页
北京工业大学信号处理工程应用训练.docx_第4页
第4页 / 共80页
北京工业大学信号处理工程应用训练.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

北京工业大学信号处理工程应用训练.docx

《北京工业大学信号处理工程应用训练.docx》由会员分享,可在线阅读,更多相关《北京工业大学信号处理工程应用训练.docx(80页珍藏版)》请在冰豆网上搜索。

北京工业大学信号处理工程应用训练.docx

北京工业大学信号处理工程应用训练

北京工业大学

专业:

通信工程

学生姓名:

刘莹莹

指导教师:

席大林

完成时间:

2020年6月22日

通信系统工程应用训练报告

训练十一DFT性质研究

验证dft函数正确性

设置原始输入信号为x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}},将输入信号x[8]进行DFT正变换,dft(X,x,8,1),输出保存在X[8],如下:

可以看到,输入信号x(n)已经变换到频域X(k),且仍为8位。

再对X[8]进行DFT反变换,dft(x,X,8,-1),重新得到x[8],观察得到的输出与原始输入数据是否相同。

结果如下:

可以看到,输出的x[8]取值仍为x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}},证明经过DFT正反变换后,信号能够恢复原始信号。

根据帕塞瓦尔定理,应有时域、频域总能量相等:

经过计算,时域、频域能量和分别为,证明时域、频域能量和相同,符合帕塞瓦尔定理。

综上,证明DFT变换正确。

A、补0效应研究

原数组:

x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,},{8,0}}

示例程序中补0后数组为:

x2[16]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}

补0方式

我使用的补0方式为:

for(i=8;i<13;i++)x2[i]=COMPLEX(0,0);

补0后数组为:

x2[13]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{0,0},{0,0},{0,0},{0,0},{0,0}}

结果分析与图

在时域中,信号长度增加,由于所增加的项均为零,波形仍与未补0时相同

未补零时的信号时域图

补5个零后的信号时域图补8个零后的信号时域图

经过DFT变换后,X(k)长度也会随着x(n)长度的增加而增加,且增加的值非零

未在末端补零时,信号频谱图

在末端补5个零时,信号频谱图在末端补8个零时,信号频谱图

可以看到,经过补0,经过DFT变换的频谱与未补零时形状基本相同,只是在长度上进行扩展,且补零数量越多,扩展越长。

可以理解为经过补0效应,增加了频域采样频率,但是由于信号未增加新的信息,因此不能提高物理分辨率。

在能量上,补5/8个零时,信号能量时域、频域能量和如下:

时域能量和、频域能量和始终相等,符合帕塞瓦尔定理,且能量与未插值时的相同。

B、插值效应研究

原数组:

x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,},{8,0}}

示例程序中插值后数组为:

x3[16]={{1,0},{8,0},{2,0},{7,0},{3,0},{6,0},{4,0},{5,0},{5,0},{4,0},{6,0},{3,0},{7,0},{2,0},{8,0},{1,0}}

插值方式

我使用的插值方式为:

for(i=0;i<16;i=i+2){x3[i]=COMPLEX(1+i/2,0);x3[i+1]=COMPLEX(i*0.5+2.5,0);}

插值后数组为:

x[16]={{1,0},{3,0},{2,0},{4,0},{3,0},{5,0},{4,0},{6,0},{5,0},{7,0},{6,0},{8,0},{7,0},{9,0},{8,0},{10,0}}

结果分析与图

(1)在示例程序中,在x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}}中反向插入原序列,使原序列变为x3[16]={{1,0},{8,0},{2,0},{7,0},{3,0},{6,0},{4,0},{5,0},{5,0},{4,0},{6,0},{3,0},{7,0},{2,0},{8,0},{1,0}},再进行DFT变换,观察频谱,对比时域、频域能量和。

反向插值后,时域、频域图

可以看到,反向插值后,信号频谱有了很大的直流分量,且近乎左右对称。

从三维频谱图上可以看出,高频、低频部分实际上是共轭反对称:

反向插值后,三维频域图

符合帕塞瓦尔定理,且能量是未插值时的2倍。

(2)在x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}}中插入序列{{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0},{10,0}},使原序列变为x3[16]={{1,0},{3,0},{2,0},{4,0},{3,0},{5,0},{4,0},{6,0},{5,0},{7,0},{6,0},{8,0},{7,0},{9,0},{8,0},{10,0}},再进行DFT变换,观察频谱,对比时域、频域能量和。

插值后,时域、频域图

可以看到,插值后,信号频谱有了很大的直流分量,且近乎左右对称。

,符合帕塞瓦尔定理。

(3)在x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}}中正向插入原序列,使原序列分别变为x2[16]={{1,0},{1,0},{2,0},{2,0},{3,0},{3,0},{4,0},{4,0},{5,0},{5,0},{6,0},{6,0},{7,0},{7,0},{8,0},{8,0}},再进行DFT变换,观察频谱,对比时域、频域能量和。

正向插值后,时域、频域图

可以看到,正向插值后,信号频谱有了很大的直流分量,且近乎左右对称。

符合帕塞瓦尔定理,且能量是未插值时的2倍。

C、插0效应研究

原数组:

x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,},{8,0}}

示例程序中插0后数组为:

x4[16]={{1,0},{0,0},{2,0},{0,0},{3,0},{0,0},{4,0},{0,0},{5,0},{0,0},{6,0},{0,0},{7,0},{0,0},{8,0},{0,0}}

插0方式

我使用的插0方式为:

for(i=0;i<16;i=i+3){x4[i]=COMPLEX(1+i/2,0);x4[i+1]=COMPLEX(2+i/2,0);x4[i+2]=COMPLEX(0,0);}

插0后数组为:

x4[12]={{1,0},{2,0},{0,0},{3,0},{4,0},{0,0},{5,0},{6,0},{0,0},{7,0},{8,0},{0,0}}

结果分析与图

(1)在示例程序中,在x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}}中,每隔一点,插入1个0值,使原序列分别变为x1[16]={{1,0},{0,0},{2,0},{0,0},{3,0},{0,0},{4,0},{0,0},{5,0},{0,0},{6,0},{0,0},{7,0},{0,0},{8,0},{0,0}},再进行DFT变换,观察频谱,对比时域、频域能量和。

插0前,时域、频域图

插0后,时域、频域图

可以看到,插0后的频谱是对原始信号频谱的周期延拓。

画出三维图像,可以更直观地看出周期延拓关系:

未插入零/插入一个零后的三维频谱图

通过对插零后图像进行DFT运算,可以证明插零后的DFT是原信号DFT的周期延拓。

符合帕塞瓦尔定理,且能量与未插值时的相同。

(2)在x[8]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0}}中,每隔两点,插入1个0值,使原序列变为

x4[16]={{1,0},{2,0},{0,0},{3,0},{4,0},{0,0},{5,0},{6,0},{0,0},{7,0},{8,0},{0,0}},再进行DFT变换,观察频谱,对比时域、频域能量和。

插0后,时域、频域图

符合帕塞瓦尔定理

源程序:

//11yy.cpp:

Definestheentrypointfortheconsoleapplication.

//

#include"stdafx.h"

#include"D:

\xhclgcyy\x_math.cpp"

#include"D:

\xhclgcyy\x_graph.cpp"

voidplotgri2(COLORREFgridcolor,COLORREFlinecolor,COMPLEXp[],intN)

{

inti;

HPENpen1=CreatePen(PS_SOLID,1,gridcolor),oldpen=(HPEN)SelectObject(win3.hdc,pen1);

HPENpen2=CreatePen(PS_SOLID,1,linecolor);

for(i=0;i

SelectObject(win3.hdc,pen2);

moveto2(0,p[0].r);

for(i=0;i

SelectObject(win2.hdc,oldpen);

DeleteObject(pen1);

DeleteObject(pen2);

}

voidplotgri3(COLORREFgridcolor,COLORREFlinecolor,COMPLEXp[],intN)

{

inti;

HPENpen1=CreatePen(PS_SOLID,1,gridcolor),oldpen=(HPEN)SelectObject(win3.hdc,pen1);

HPENpen2=CreatePen(PS_SOLID,1,linecolor);

for(i=0;i

SelectObject(win3.hdc,pen2);

moveto3(0,p[0].r,p[0].i);

for(i=0;i

SelectObject(win2.hdc,oldpen);

DeleteObject(pen1);

DeleteObject(pen2);

}

voidmain()

{

inti;

doublesumT,sumF;

COMPLEXx[8],//{{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,},{8,0}}

X[8],

x2[13],//={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{0,0},{0,0},{0,0},{0,0},{0,0}}

X2[16],

x3[16],//={{{1,0},{1,0},{2,0},{2,0},{3,0},{3,0},{4,0},{4,0},{5,0},{5,0},{6,0},{6,0},{7,0},{7,0},{8,0},{8,0}}}

X3[16],

x4[12],//={{1,0},{2,0},{0,0},{3,0},{4,0},{0,0},{5,0},{6,0},{0,0},{7,0},{8,0},{0,0}}

X4[16];

//给待

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1