数字信号课程设计报告书文档格式.docx
《数字信号课程设计报告书文档格式.docx》由会员分享,可在线阅读,更多相关《数字信号课程设计报告书文档格式.docx(32页珍藏版)》请在冰点文库上搜索。
![数字信号课程设计报告书文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/04d60c48-d0d0-4729-8bd3-1ba9302d0378/04d60c48-d0d0-4729-8bd3-1ba9302d03781.gif)
的时域与频域特性
2)分析已调信号
3)分析系统的单位脉冲响应
4)分析接收信号
的频谱
5)设计带通滤波器从接收信号
中还原出三个已调信号。
三、图像信号相关处理
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);
gridon;
axis([02-22]);
title('
正弦信号'
);
矩形信号
0.001:
0.5;
y=square(2*pi*10*t,50);
axis([00.5-1.51.5]);
周期方波信号'
)
三角波信号
t=-0.3:
0.3;
y=sawtooth(10*pi*t,0.5);
axis([-0.30.3-1.51.5]);
三角波信号'
2)为避免频谱混叠,试确定各信号的采样频率。
采样频率不能过低,必须fs>
fm,即采样频率必须大于最高截止频率的二倍(对采样频率的要求,即采样频率要足够大,采样的值要足够多,才能恢复原信号)。
上题中信号频率为10Hz,则采样频率应该大于或等于20Hz,这样采样离散信号能无失真的恢复到原来的连续信号。
一个频谱在区间(-w,w)以外为零的频带有限信号,可以唯一的由其在区间间隔Ts上的样点值所确定。
当采样频率小于两倍信号(这里指是信号)最大频率时,经过采样就会发生频谱混叠,这使得采样后的信号序列频谱不能真实地反映原信号的频谱。
所以在利用DFT分析连续信号的频谱时,必须注意这一问题。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱交叠现象不致出现。
也就是说,在确定采样频率之前,必须对信号的性质有所了解,一般在采样前,信号通过一个防混叠低通滤波器。
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)
x=sin(2*pi*10*t)'
xlabel('
t'
ylabel('
Amplitude'
axis([0,1,-1,1]);
subplot(2,1,2)
plot(f,abs(F))
Frequency'
|X(e^{jw})|'
当N取50时则为
对于方波:
对于三角波:
3)所谓频谱泄漏,就是信号频谱中各谱线之间相互影响,使得测量结果偏离实际值,同时在谱线两侧其他频率点上出现一些幅值较小的假谱。
导致频谱泄漏的原因是采样频率和信号频率的不同步,造成周期采样信号的相位在始端和终端不连续。
采样不同步是造成频谱泄漏的根本原因。
当采样同步,窗口宽度等于整数个周期,矩形框的过零点与离散频点正好对齐,就没有泄漏,窗口宽度不是整数个周期,谐波频谱分布不再是一条谱线而是在整个频域内分布,频谱之间相互干扰,出现频谱泄漏。
综上所述,减少采样的同步误差是抑制频谱泄漏的根本措施。
所以截取数据的长度最好是信号周期的整数倍。
泄漏指的是信号频谱中各谱线之间相互影响,使得测量结果偏离实际值,同时在谱线两侧其他频率点上出现一些幅值较小的假谱。
f1=10;
0.1:
100;
fs=100;
T=1/fs;
n=0:
200;
%保证n*T<
t
xt=sin(2*pi*f1*t);
xn=sin(2*pi*f1*n*T);
subplot(2,1,1);
plot(n,xn);
n'
xn'
离散的时域序列'
N=100;
%保证N<
n
wn=boxcar(N);
Wn=[wn'
zeros(1,200-N+1)];
%保证维度一样
Xn=Wn.*xn;
M=128;
%采样点数
Xm=abs(fft(Xn,M)/(M/2));
%M点FFT变换
f=linspace(0,fs,M);
plot(f,Xm);
f(Hz)'
幅度'
加矩形窗处理后的频域函数'
正弦信号a=sin(20*pi*t)
0.999;
subplot(311)
a=sin(20*pi*t);
plot(t,a);
sin20pi*t'
T'
b=fft(a);
subplot(312);
stem(t*1000,abs(b)/1000,'
fill'
Hz'
axis([-105000.5]);
频率特性'
subplot(313)
stem(t*1000,angle(b)/1000,'
axis([0100-0.0040.004])
相频特性'
方波信号a=square(2*pi*t,50)
a=square(2*pi*10*t,50);
subplot(312)
stem(t*100,abs(b)/100,'
axis([05004]);
stem(t*100,angle(b)/100,'
axis([05-0.040.04]);
a=sawtooth(10*pi*t,0.5);
axis([05000.5]);
axis([025-0.040.04]);
整周期阶段现象很明显,非正整周期截取时它的最大数字频率不在0.2~0.4
之间,这与理论值相差是比较大的。
在截取长度不是很长时必须要整周期截取,这样才能保证截断误差不是很大。
clc
omega=pi/4;
ns=0;
nf=64;
n=[ns:
nf];
xn=sin(omega*n);
xk=fft(xn,128);
xn1=n(1:
50);
%分周期序列截取
xk1=fft(xn1,128);
%绘图
k=0:
127;
wk=2*k/128;
subplot(4,1,1);
stem(n,xn,'
.'
(a)整周期截取的正弦周期信号'
grid
subplot(4,1,2);
stem(wk,abs(xk),'
(b)整周期截取128点dft的幅频特性图'
\omega/\pi'
subplot(4,1,3);
stem(0:
length(xn1)-1,xn1,'
(c)非整周期截取周期信号'
subplot(4,1,4);
stem(wk,abs(xk1),'
(d)非整周期截取128点dft的幅频特性图'
基本原理:
汉宁窗时域表达式
,MATLAB实现
在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。
也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
(1)n=51;
window=hanning(n);
[h,w]=freqz(window,1);
subplot(1,2,1)
stem(window);
subplot(1,2,2)
plot(w/pi,20*log(abs(h)/abs(h
(1))));
2)N=100;
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);
µ
÷
Ö
Æ
Ð
Å
º
'
[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.11720.9842-0.40220.2247];
b=[0.2247-0.40220.9842-1.11721];
n=1:
49;
hn=impz(b,a,n);
stem(n,hn,'
k'
'
f'
脉冲响应¨
h(n)'
序号(n)'
单位脉冲响应'
4)a=[1-1.11720.9841-0.40220.2277];
b=[0.2277-0.40220.9841-1.11721];
yn=filter(b,a,sn);
subplot(311);
plot(yn);
[H,w]=freqz(yn,1,200);
X=abs(H);
Y=20*log10(X);
plot(w/pi,Y);
subplot(3,1,3);
plot(w/pi,angle(H));
phi(\omega)'
axis([00.2-33]);
gridon
5)观察y(n)的图像可得
wp1=[0.21,0.28];
ws1=[0.2,0.3];
wp2=[0.43,0.57];
ws2=[0.41,0.6];
wp3=[0.71,0.82];
ws3=[0.69,0.85];
分离信号一
a=[1-1.11720.9841-0.40220.2277];
N=100;
99;
sn=1.*pn.*cos(1*pi*n/4)+2.*pn.*cos(2*pi*n/4)+3.*pn.*cos(3*pi*n/4);
yn=filter(b,a,sn);
wp=[0.21,0.28];
ws=[0.2,0.3];
Rp=1;
As=20;
[n,wc]=cheb1ord(wp,ws,Rp,As);
[bz,az]=cheby1(n,Rp,wc);
x1=filter(bz,az,yn);
subplot(211),plot(x1)
[H,w]=freqz(x1,1,200);
plot(w/pi,20*log10(abs(H)))
信号二
b=[0.2277-0.40220.9841-1.11721];
wp=[0.43,0.57];
ws=[0.41,0.6];
信号二图像'
plot(w/pi,20*log10(abs(H)));
频谱'
信号三
wp=[0.71,0.8];
ws=[0.69,0.85];
MATLAB支持JPEG,BMP,PCX,TIFF,GIF等图像文件格式。
灰度图像:
数据矩阵中的元素值一般都在[0,1]或[0,255]之间,灰度图像根据这些数据利用线性插值来的色图中的颜色种类匹配。
灰度图像一般看起来试衣服黑白图像,但是色彩明暗比二值图像更为丰富、因为每一个像素点的取值在[0,1]或[0,255]之间。
灰度图像读入matlab中是一个二维的平面矩阵,其中行与列的乘积代表其图片中像素点的个数。
RGB图像:
图像中的每一个像素用三个数据来存储,分别指定红、蓝、绿三原色在像素颜色中的比例关系,组成一个三维数组,读入matlab后是一个三维的矩阵。
RGB图像就是采用红蓝绿作为三原色的。
其中R为红色,G为绿色,B为蓝色,这样这个三维矩阵A就可以表示一个彩色矩阵,也就是一整数字图片可以再matlab中读成一个矩阵A。
这个三维矩阵的第一维就是上图中第一层表示红色的数值,第二维为第二层代表绿色的数值,第三维为第三层代表蓝色的数值。
1)clc;
a=imread('
H:
\ww.jpg'
imshow(a),title('
原彩色图像'
2)clc;
subplot(2,2,1),imshow(a),title('
Ô
²
Ê
É
«
Í
¼
Ï
ñ
ar=a(:
:
1);
ag=a(:
2);
ab=a(:
3);
subplot(2,2,2),imshow(ar),title('
R'
subplot(2,2,3),imshow(ag),title('
G'
subplot(2,2,4),imshow(ab),title('
B'
3)clc;
subplot(2,1,1),imshow(a),title('
b=rgb2gray(a);
subplot(2,1,2),imshow(b),title('
灰度图像'
4)a=imread('
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);
subplot(3,2,2);
imshow(b1);
Sobel边缘检测'
subplot(3,2,3);
imshow(b2);
Prewitt边缘检测'
subplot(3,2,4);
Roberts边缘检测'
subplot(3,2,5);
LoG边缘检测'
subplot(3,2,6);
Canny边缘检测'
五.心得与体会
通过这一个星期的课程设计与学习,我重温了一遍数字信号处理的基本概念及相关理论,巩固了MATLAB基本使用方法,掌握了MATLAB数字信号处理的基本编程技术,实现了典型离散信号的DFT及数字滤波器的设计与应用。
数字信号处理是一门比较抽象的课程,通过MATLAB语言可以把抽象的理论用简洁直观的图形表示出来。
MATLAB是一个很好的编程平台,我要在今后的学习中继续深入学习,让MATLAB发挥更大的作用,以帮助学习高深知识。
通过此次实验,学会了利用DFT来对周期、非周期信号做频谱分析,采样定理理解更加深刻,通过改变采样间隔,实现混叠泄露现象。
得知采样的重要性,在今后的学习应用中,可以正确采样,不发生混叠泄露,使信号处理正确准确。
学会了窗函数的用法,通过对信号加矩形窗、hanning窗、hamming窗,加深了窗函数的概念理解,并且通过对同一个信号加不同窗的比较,出不同窗的特点。
对时域加窗相乘与频域卷积的比较得到时域结果的正确。
数字信号处理课程设计虽然只有短短的一周,但是它是我们向工程问题靠近的很重要的训练,我体会理论知识必须联系实际,这样才是学习的最佳途径。