当前位置:文档之家› 中南大学通信数字信号处理(DSP)课程设计报告

中南大学通信数字信号处理(DSP)课程设计报告

中南大学数字信号处理课程设计报告专业班级: 通信工程XX指导老师:李宏姓名:学号:完成日期:2014年10月18日前言现代信号处理是将信号表示并处理的理论和技术,而数字信号处理与模拟信号处理是信号处理的子集。

在本次课程设计中主要以数字信号处理来解决问题。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波,因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。

而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。

数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。

数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。

数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。

而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。

MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户接口、连接其它编程语言的程序等。

一、课程设计目的:1.全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来。

2. 掌握信号分析与处理的基本方法与实现3.提高综合运用所学知识独立分析和解决问题的能力; 4.熟练使用一种高级语言进行编程实现。

二、课程设计题目:(一):1) 生成信号发生器:能产生频率(或基频)为10Hz 的周期性正弦波、三角波和方波信号。

绘出它们的时域波形2) 为避免频谱混叠,试确定各信号的采样频率。

说明选择理由。

3)对周期信号进行离散傅立叶变换,为了克服频谱泄露现象,试确定截取数据的长度,即信号长度。

分析说明选择理由。

4)绘出各信号频域的幅频特性和相频特性5)以正弦周期信号为例,观察讨论基本概念(频谱混叠、频谱泄漏、整周期截取等)。

(二):已知三个信号()i a p n ,经调制产生信号31()()cos(/4)i i s n a p n i n π==∑,其中i a 为常数,()p n 为具有窄带特性的Hanning 信号。

将此已调信号通过信道传输,描述该信道的差分方程为得到接收信号()()*()y n s n h n =1)分析Hanning 信号()p n 的时域与频域特性 2)分析已调信号()s n 的时域与频域特性 3)分析系统的单位脉冲响应()h n 4)分析接收信号()y n 的频谱5)设计带通滤波器从接收信号()y n 中还原出三个已调信号。

() 1.1172(1)0.9841(2)0.4022(3)0.2247(4)0.2247()0.4022(1)0.9841(2) 1.1172(3)(4)y n y n y n y n y n x n x n x n x n x n --+---+-=--+---+-(三):图像信号相关处理1)读入一幅彩色图像2)将彩色图像进行三原色分解,分解出R、G、B分量,并用图像显示出来3)将彩色图像灰度化,转换为灰度图像并显示4)对灰度图像用几种典型的边缘检测算子进行边缘检测,显示检测出的边缘。

三、调试及结果分析(截图):(一):1)频率为10Hz的周期性正弦波:频率为10Hz的周期性三角波:频率为10Hz的周期性方波:2)采样频率不能过低,必须fs>=2fm,即采样频率必须大于或等于最高截止频率的二倍(对采样频率的要求,即采样频率要足够大,采样的值要足够多,才能不失真的恢复原信号)。

题目中信号频率为10Hz,则采样频率应该大于或等于20Hz,这样的话采样离散信号才能够无失真的恢复到原来的连续信号。

3)截取数据长度(即信号长度)N=T*fs=24)频率为10Hz的周期性正弦波的幅频特性和相频特性:频率为10Hz的周期性三角波的幅频特性和相频特性:频率为10Hz的周期性方波的幅频特性和相频特性:5)频谱混叠:一个信号的最高频率比如是fmax,那它的频谱就是在-fmax~fmax之间有值。

对这个信号进行时域采样(就是取离散的点),设采样率为fs。

有一个定理:对信号进行时域fs的采样,信号的频谱就会在频域以fs为周期重复。

那么如果fs>=2fmax,可想而知,频域宽度为fs的频带内,是可以放得下一整个完整的频谱的,所以不会混叠。

如果fs<2fmax,频域每间隔fs就会出现一个频谱,必定会有相邻的频谱叠在一起的情况,就是混叠。

频谱泄露:对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。

但是,在利用DFT求它的频谱做了截短,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄露”出去的,这种现象称为频谱“泄露”。

整周泣截取:与周期函数一样,周期信号是每隔时间T以后,信号重复出现。

T 就称为信号的周期。

N取100时:N取200时:(二):1)Hanning信号()的时域与频域特性:p n2)已调信号()s n的时域与频域特性:3)系统的单位脉冲响应()h n:4)接收信号()y n的频谱:5)(设计带通滤波器)从接收信号()y n中还原出三个已调信号:(三):1)读入一幅彩色图像:2)将彩色图像进行三原色分解,分解出R、G、B分量,并用图像显示出来:3)将彩色图像灰度化,转换为灰度图像并显示:4)对灰度图像用几种典型的边缘检测算子进行边缘检测,显示检测出的边缘:四、源程序:(一):1):周期性正弦波:fs=10;w=2*pi*fs;t=0:0.01:2;y=sin(w*t);plot(t,y);grid on;axis([0 2 -2 2]);title('正弦信号');周期性三角波:t=-0.3:0.01:0.3;y=sawtooth(10*pi*t,0.5);plot(t,y);grid on;axis([-0.3 0.3 -1.5 1.5]);title('三角波信号')周期性方波:t=0:0.001:0.5;y=square(2*pi*10*t,50);plot(t,y);grid on;axis([0 0.5 -1.5 1.5]);title('周期方波信号')4):周期性正弦波:t=0:0.001:0.999;subplot(311)a=sin(20*pi*t);plot(t,a);grid on;title('sin20pi*t');xlabel('T'); b=fft(a);subplot(312);stem(t*1000,abs(b)/1000,'fill');xlabel('Hz'); axis([-10 50 0 0.5]);grid on;title('幅频特性')subplot(313)stem(t*1000,angle(b)/1000,'fill');xlabel('Hz'); axis([0 100 -0.004 0.004])grid on;title('相频特性')周期性三角波:t=-0.3:0.01:0.3;a=sawtooth(10*pi*t,0.5);subplot(311)plot(t,a);grid on;axis([-0.3 0.3 -1.5 1.5]);title('三角波信号')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 0.5]);grid on;title('幅频特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 25 -0.04 0.04]);grid on;title('相频特性')周期性方波:t=0:0.001:0.5;a=square(2*pi*10*t,50);subplot(311)plot(t,a);grid on;axis([0 0.5 -1.5 1.5]);title('周期方波信号')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill'); axis([0 50 0 4]);grid on;title('幅频特性') subplot(313)stem(t*100,angle(b)/100,'fill'); axis([0 5 -0.04 0.04]);grid on;title('相频特性')5):N=100(或:N=200);T=1;t=linspace(0,T,N);x=sin(2*pi*10*t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;subplot(2,1,1)plot(t,x)title('x=sin(2*pi*50*t)') xlabel('t')ylabel('Amplitude')axis([0,1,-1,1]);subplot(2,1,2)plot(f,abs(F))xlabel('Frequency');ylabel('|X(e^{jw})|')(二):1):N=100;n=0:99;Rn=[ones(1,N-1) zeros(1, 101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;subplot(211);stem(n,pn);title('汉宁信号');[H,w]=freqz(pn,1,200);magH=abs(H);length(w);length(H);magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);2):N=100;n=0:99;Rn=[ones(1,N-1) zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4)); subplot(211);stem(n,sn);title('已调信号');[H,w]=freqz(sn,1,200);magH=abs(H);length(w);length(H);magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);3):a=[1 -1.1172 0.9842 -0.4022 0.2247];b=[0.2247 -0.4022 0.9842 -1.1172 1];n=1:49;hn=impz(b,a,n);stem(n,hn,'k','f');ylabel('脉冲响应 ¨h(n)');xlabel('序号(n)');title('单位脉冲响应');4):a=[1 -1.1172 0.9842 -0.4022 0.2247];b=[0.2247 -0.4022 0.9842 -1.1172 1];k=0:0.1:100;p=0.5-0.5*cos(2*pi*k./74);s=p.*(cos(pi*k/4)+2*cos(pi*k/2)+3*cos(3*pi*k/4));y=filter(b,a,s);z1=fft(y,256);plot([-128:127],fftshift(abs(z1)));axis([-30 30 0 120]);grid on;5):wp=200;ws=200;wp1=[0.2,0.3];ws1=[0.1,0.4];wp2=[0.4,0.6];ws2=[0.3,0.7];wp3=[0.7,0.8];ws3=[0.6,0.9];ap=1;as=20;N=100;n=0:99;Rn=[ones(1,N-1) zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4)); a=[1 -1.1172 0.9841 -0.4022 0.2277];b=[0.2277 -0.4022 0.9841 -1.1172 1];yn=filter(b,a,sn);[n,wc]=cheb1ord(wp,ws,ap,as);[bz,az]=cheby1(n,ap,wc);subplot(311)bz1=bz;az1=az;x1=filter(bz1,az1,yn);plot(x1);subplot(312)bz2=bz;az2=az;x2=filter(bz2,az2,yn);plot(x2);subplot(313)bz3=bz;az3=az;x3=filter(bz3,az3,yn);plot(x3)(三):1):clc;a=imread('F:\星空.jpg');imshow(a),title('原彩色图像');2):clc;a=imread('F:\星空.jpg');subplot(3,2,1),imshow(a),title('原彩色图像');ar=a(:,:,1);ag=a(:,:,2);ab=a(:,:,3);subplot(3,2,4),imshow(ar),title('R');subplot(3,2,5),imshow(ag),title('G');subplot(3,2,6),imshow(ab),title('B');3):clc;a=imread('F:\星空.jpg');subplot(2,1,1),imshow(a),title('原彩色图像'); b=rgb2gray(a);subplot(2,1,2),imshow(b),title('灰度图像');4):a=imread('F:\星空.jpg');b=rgb2gray(a);b1=edge(b,'sobel');b2=edge(b,'prewitt');b3=edge(b,'roberts');b4=edge(b,'log');b5=edge(b,'canny');subplot(3,2,1);imshow(b);title('灰度图像');subplot(3,2,2);imshow(b1);title('Sobel边缘检测');subplot(3,2,3);imshow(b2);title('Prewitt边缘检测');subplot(3,2,4);imshow(b1);title('Roberts边缘检测');subplot(3,2,5);imshow(b1);title('LoG边缘检测');subplot(3,2,6);imshow(b1);title('Canny边缘检测');五、总结与心得体会:在课程设计的这段时间,我获益匪浅,不但进一步掌握了数字信号处理的基础知识及MATLAB的基本操作,还详细了解并掌握了信号的产生、采样及频谱分析的方法。

相关主题