数字信号处理课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、主要内容
1.了解 Matlab 基本使用方法,掌握 Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概念。 1)使用 Matlab(生成几种典型数字信号(正弦信号、周期信号、高斯随机信号等))。 2)编程计算离散信号的特征值(均值、方差等)。 3)进行信号加减运算。
2.Matlab 编程实现典型离散信号(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域
5
课程课程设计报告
2.1 Matlab 编程实现典型离散信号的离散傅立叶变换 %生成正弦信号 clc omega=pi/8;%设置数字角频率 ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); xk164=fft(xn1,128);%计算 xn1 的 128 点 dft %以下为正弦信号的绘图 k=0:127;wk=2*k/128;%产生 128 点 dft 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(n1,xn1,'.'); xlabel('n');ylabel('xn');title('正弦信号');grid subplot(3,1,2);stem(wk,abs(xk164),'.');%绘制 128 点 dft 的幅频特性图 title('128 点 dft 的幅频特性图'); xlabel('\omega/\pi');ylabel('幅度'); subplot(3,1,3);stem(wk,angle(xk164),'.');%绘制 128 点 dft 的相频特性图 title('128 点 dft 的相频特性图'); xlabel('\omega/\pi');ylabel('相位');
xn
幅度
周期信号 1
0.5
0
0
10
20
30
40
50
60
70
n
128点 dft的 幅 频 特 性 图 40
20
0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
128点 dft的 相 频 特 性 图 5
0
-5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
7
相位
课程课程设计报告
%生成高斯随机信号 clc n3=40;%设置序列长度为 40 xn3=randn(1,n3);%产生均值为 0 方差为 1 的高斯随机序列 xk364=fft(xn3,128);%计算 xn3 的 128 点 dft %以下为高斯随机信号的绘图 k=0:127;wk=2*k/128;%产生 128 点 dft 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(xn3,'.'); xlabel('n');ylabel('xn');title('高斯随机信号');grid subplot(3,1,2);stem(wk,abs(xk364),'.');%绘制 128 点 dft 的幅频特性图 title('128 点 dft 的幅频特性图'); xlabel('\omega/\pi');ylabel('幅度'); subplot(3,1,3);stem(wk,angle(xk364),'.');%绘制 128 点 dft 的相频特性图 title('128 点 dft 的相频特性图'); xlabel('\omega/\pi');ylabel('相位');
xn
幅度
正弦信号 1
0
-1
0
5
10
15
20
25
30
35
n
128点 dft的 幅 频 特 性 图 20
10
0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
128点 dft的 相 频 特 性 图 5
0
-5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
1
课程课程设计报告
一、 课程设计的目的与要求 通过上机使用 Matlab 工具进行数字信号处理技术的仿真练习,加深对《数字信号处理(自)》课程
所学基本理论和概念的理解,培养学生应用 Matlab 等工具进行数字信号处理的基本技能和实践能力,为 工程应用打下良好基础。 二、 设计正文
1. 了解 Matlab 基本使用方法,掌握 Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概 念。 1.1 使用 Matlab(生成几种典型数字信号(正弦信号、周期信号、高斯随机信号等))。 %生成正弦信号 omega=pi/8 ;%设置数字角频率 ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); subplot(3,1,1); stem(n1,xn1,'.'); axis([0,35,-1.2,1.2]); xlabel('n');ylabel('xn');title('(a)正弦信号');grid %生成周期信号 x=[1 1 1 1 0 0 0];%周期为 7 xn2=x'*ones(1,3);%产生 3 个周期长度的序列 xn2=xn2(:); xn2=xn2'; n2=0:length(xn2)-1; subplot(3,1,2); stem(n2,xn2,'.'); axis([0,20,-1.5,1.5]); xlabel('n');ylabel('xn');title('(b)周期信号');grid %生成高斯随机信号 n3=40;%设置序列长度为 40 xn3=randn(1,n3);%产生均值为 0 方差为 1 的高斯随机序列
3
课程课程设计报告
%生成高斯随机信号 n3=40;%设置序列长度为 40 xn3=randn(1,n3);%产生均值为 0 方差为 1 的高斯随机序列 fprintf('正弦信号的均值为%.4f 方差分别为%.4f\n',mean(xn1),var(xn1,1)); fprintf('周期信号的均值为%.4f 方差分别为%.4f\n',mean(xn2),var(xn2,1)); fprintf('高斯随机信号的均值为%.4f 方差分别为%.4f\n',mean(xn3),var(xn3,1)); 程序运行结果如下 正弦信号的均值为-0.0000 方差分别为 0.4848 周期信号的均值为 0.5714 方差分别为 0.2449 高斯随机信号的均值为-0.0024 方差分别为 0.9506 1.3 进行信号加减运算。 %生成正弦信号 clc omega=pi/8;%设置数字角频率 ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); %生成周期信号 x=[1 1 1 1 0 0 0];%周期为 7 xn2=x'*ones(1,3);%产生 3 个周期长度的序列 xn2=xn2(:); xn2=xn2'; ns2=0; nf2=length(xn2)-1; n2=0:nf2; ny=0:max(nf1,nf2);%y 的位置向量 y1=zeros(1,length(ny));y2=y1;%y1,y2 序列初始化 y1(find(ny<=nf1))=xn1; y2(find(ny<=nf2))=xn2; ya=y1+y2;%两序列相加
xn
xn
1 0 -1
0
1 0.5
0 0
正弦信号
10
20
30
n
周期信号
5
10
15
n
修正后的正弦信号
1
xn
0
-1
40
0
10
20
30
40
n
修正后的周期信号
xn
1 0.5
0
20
0
10
20
30
40
n
序列相加
2
xn
0
-2
0
10
20
30
40
n
序列相减
2
xn
0
-2
0
10
20
30
40
n
2.Matlab 编程实现典型离散信号(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域 信号和频谱图形(幅值谱和相位谱);以周期信号为例,观察讨论基本概念(混叠、泄漏、整周 期截取、频率分辨率等)。
3天
备注
3 整理课程设计报告
1天
4 演示课程设计内容并答辩
0.5 天
四、设计成果要求
1. 提交完成设计内容的程序 2. 提交设计报告
五、考核方式
课程设计报告、设计内容演示和答辩相结合。 考核内容:考勤、纪律、课程设计报告、实际编程能力和基本概念掌握程度等。
学生姓名:
指导教师 2010 年 7 月 2 日
课程设计报告
( 2009 -- 2010 年度第 2 学期)
名称:数字信号处理 题目:使用 Matlab 工具进行数字信号处理
院系 班级: 学号: 学生姓名 指导教师: 设计周数:一周
成绩:
日期:2010 年 7 月 8 日
课程课程设计报告
《数字信号处理(自)》课程设计
任务书
一、目的与要求
是使学生通过上机使用 Matlab 工具进行数字信号处理技术的仿真练习,加深对《数字信号处理(自)》 课程所学基本理论和概念的理解,培养学生应用 Matlab 等工具进行数字信号处理的基本技能和实践能力, 为工程应用打下良好基础。
4
课程课程设计报告
ys=y1-y2;%两序列相减 %画图 subplot(4,2,1);stem(n1,xn1,'.'); xlabel('n');ylabel('xn');title('正弦信号');grid subplot(4,2,2);stem(ny,y1,'.'); xlabel('n');ylabel('xn');title('修正后的正弦信号');grid subplot(4,2,3);stem(n2,xn2,'.'); xlabel('n');ylabel('xn');title('周期信号');grid subplot(4,2,4);stem(ny,y2,'.'); xlabel('n');ylabel('xn');title('修正后的周期信号');grid subplot(4,2,6);stem(ny,ya,'.'); xlabel('n');ylabel('xn');title('序列相加');grid subplot(4,2,8);stem(ny,ys,'.'); xlabel('n');ylabel('xn');title('序列相减');grid
相位
%生成周期信号
6
课程课程设计报告
clc x=[1 1 1 1 0 0 0];%周期为 7 xn=x'*ones(1,10);%产生 10 个周期长度的序列 xn=xn(:); xn=xn'; n=0:length(xn)-1; xk=fft(xn,128);%计算 xn 的 128 点 dft %以下为周期信号的绘图 k=0:127;wk=2*k/128;%产生 128 点 dft 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(n,xn,'.'); xlabel('n');ylabel('xn');title('周期信号');grid subplot(3,1,2);stem(wk,abs(xk),'.');%绘制 128 点 dft 的幅频特性图 title('128 点 dft 的幅频特性图'); xlabel('\omega/\pi');ylabel('幅度'); subplot(3,1,3);stem(wk,angle(xk),'.');%绘制 128 点 dft 的相频特性图 title('128 点 dft 的相频特性图'); xlabel('\omega/\pi');ylabel('相位');
n
(c)高 斯 随 机 信 号 5
0
-5
0
5
10
15
20Biblioteka Baidu
25
30
35
40
n
xn
1.2 编程计算离散信号的特征值(均值、方差等)。 %生成正弦信号 omega=pi/8;%设置数字角频率 clc ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); %生成周期信号 x=[1 1 1 1 0 0 0];%周期为 7 xn2=x'*ones(1,3);%产生 3 个周期长度的序列 xn2=xn2(:); xn2=xn2'; n2=0:length(xn2)-1;
2
课程课程设计报告
subplot(3,1,3); stem(xn3); xlabel('n');ylabel('xn');title('(c)高斯随机信号');grid
xn
xn
(a)正 弦 信 号 1
0
-1
0
5
10
15
20
25
30
35
n
(b)周 期 信 号
1
0
-1
0
2
4
6
8 10 12 14 16 18 20
信号和频谱图形(幅值谱和相位谱);以周期信号为例,观察讨论基本概念(混叠、泄漏、整周
期截取、频率分辨率等)。
3.设计任意数字滤波器,并对某类型信号进行滤波,并对结果进行显示和分析。
三、进度计划
序号
1 2
设计(实验)内容
完成时间
布置课程设计任务、示范讲解 Matlab 0.5 天 程序使用方法
上机进行课程设计
1.了解 Matlab 基本使用方法,掌握 Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概念。 1)使用 Matlab(生成几种典型数字信号(正弦信号、周期信号、高斯随机信号等))。 2)编程计算离散信号的特征值(均值、方差等)。 3)进行信号加减运算。
2.Matlab 编程实现典型离散信号(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域
5
课程课程设计报告
2.1 Matlab 编程实现典型离散信号的离散傅立叶变换 %生成正弦信号 clc omega=pi/8;%设置数字角频率 ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); xk164=fft(xn1,128);%计算 xn1 的 128 点 dft %以下为正弦信号的绘图 k=0:127;wk=2*k/128;%产生 128 点 dft 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(n1,xn1,'.'); xlabel('n');ylabel('xn');title('正弦信号');grid subplot(3,1,2);stem(wk,abs(xk164),'.');%绘制 128 点 dft 的幅频特性图 title('128 点 dft 的幅频特性图'); xlabel('\omega/\pi');ylabel('幅度'); subplot(3,1,3);stem(wk,angle(xk164),'.');%绘制 128 点 dft 的相频特性图 title('128 点 dft 的相频特性图'); xlabel('\omega/\pi');ylabel('相位');
xn
幅度
周期信号 1
0.5
0
0
10
20
30
40
50
60
70
n
128点 dft的 幅 频 特 性 图 40
20
0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
128点 dft的 相 频 特 性 图 5
0
-5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
7
相位
课程课程设计报告
%生成高斯随机信号 clc n3=40;%设置序列长度为 40 xn3=randn(1,n3);%产生均值为 0 方差为 1 的高斯随机序列 xk364=fft(xn3,128);%计算 xn3 的 128 点 dft %以下为高斯随机信号的绘图 k=0:127;wk=2*k/128;%产生 128 点 dft 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(xn3,'.'); xlabel('n');ylabel('xn');title('高斯随机信号');grid subplot(3,1,2);stem(wk,abs(xk364),'.');%绘制 128 点 dft 的幅频特性图 title('128 点 dft 的幅频特性图'); xlabel('\omega/\pi');ylabel('幅度'); subplot(3,1,3);stem(wk,angle(xk364),'.');%绘制 128 点 dft 的相频特性图 title('128 点 dft 的相频特性图'); xlabel('\omega/\pi');ylabel('相位');
xn
幅度
正弦信号 1
0
-1
0
5
10
15
20
25
30
35
n
128点 dft的 幅 频 特 性 图 20
10
0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
128点 dft的 相 频 特 性 图 5
0
-5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 /
1
课程课程设计报告
一、 课程设计的目的与要求 通过上机使用 Matlab 工具进行数字信号处理技术的仿真练习,加深对《数字信号处理(自)》课程
所学基本理论和概念的理解,培养学生应用 Matlab 等工具进行数字信号处理的基本技能和实践能力,为 工程应用打下良好基础。 二、 设计正文
1. 了解 Matlab 基本使用方法,掌握 Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概 念。 1.1 使用 Matlab(生成几种典型数字信号(正弦信号、周期信号、高斯随机信号等))。 %生成正弦信号 omega=pi/8 ;%设置数字角频率 ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); subplot(3,1,1); stem(n1,xn1,'.'); axis([0,35,-1.2,1.2]); xlabel('n');ylabel('xn');title('(a)正弦信号');grid %生成周期信号 x=[1 1 1 1 0 0 0];%周期为 7 xn2=x'*ones(1,3);%产生 3 个周期长度的序列 xn2=xn2(:); xn2=xn2'; n2=0:length(xn2)-1; subplot(3,1,2); stem(n2,xn2,'.'); axis([0,20,-1.5,1.5]); xlabel('n');ylabel('xn');title('(b)周期信号');grid %生成高斯随机信号 n3=40;%设置序列长度为 40 xn3=randn(1,n3);%产生均值为 0 方差为 1 的高斯随机序列
3
课程课程设计报告
%生成高斯随机信号 n3=40;%设置序列长度为 40 xn3=randn(1,n3);%产生均值为 0 方差为 1 的高斯随机序列 fprintf('正弦信号的均值为%.4f 方差分别为%.4f\n',mean(xn1),var(xn1,1)); fprintf('周期信号的均值为%.4f 方差分别为%.4f\n',mean(xn2),var(xn2,1)); fprintf('高斯随机信号的均值为%.4f 方差分别为%.4f\n',mean(xn3),var(xn3,1)); 程序运行结果如下 正弦信号的均值为-0.0000 方差分别为 0.4848 周期信号的均值为 0.5714 方差分别为 0.2449 高斯随机信号的均值为-0.0024 方差分别为 0.9506 1.3 进行信号加减运算。 %生成正弦信号 clc omega=pi/8;%设置数字角频率 ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); %生成周期信号 x=[1 1 1 1 0 0 0];%周期为 7 xn2=x'*ones(1,3);%产生 3 个周期长度的序列 xn2=xn2(:); xn2=xn2'; ns2=0; nf2=length(xn2)-1; n2=0:nf2; ny=0:max(nf1,nf2);%y 的位置向量 y1=zeros(1,length(ny));y2=y1;%y1,y2 序列初始化 y1(find(ny<=nf1))=xn1; y2(find(ny<=nf2))=xn2; ya=y1+y2;%两序列相加
xn
xn
1 0 -1
0
1 0.5
0 0
正弦信号
10
20
30
n
周期信号
5
10
15
n
修正后的正弦信号
1
xn
0
-1
40
0
10
20
30
40
n
修正后的周期信号
xn
1 0.5
0
20
0
10
20
30
40
n
序列相加
2
xn
0
-2
0
10
20
30
40
n
序列相减
2
xn
0
-2
0
10
20
30
40
n
2.Matlab 编程实现典型离散信号(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域 信号和频谱图形(幅值谱和相位谱);以周期信号为例,观察讨论基本概念(混叠、泄漏、整周 期截取、频率分辨率等)。
3天
备注
3 整理课程设计报告
1天
4 演示课程设计内容并答辩
0.5 天
四、设计成果要求
1. 提交完成设计内容的程序 2. 提交设计报告
五、考核方式
课程设计报告、设计内容演示和答辩相结合。 考核内容:考勤、纪律、课程设计报告、实际编程能力和基本概念掌握程度等。
学生姓名:
指导教师 2010 年 7 月 2 日
课程设计报告
( 2009 -- 2010 年度第 2 学期)
名称:数字信号处理 题目:使用 Matlab 工具进行数字信号处理
院系 班级: 学号: 学生姓名 指导教师: 设计周数:一周
成绩:
日期:2010 年 7 月 8 日
课程课程设计报告
《数字信号处理(自)》课程设计
任务书
一、目的与要求
是使学生通过上机使用 Matlab 工具进行数字信号处理技术的仿真练习,加深对《数字信号处理(自)》 课程所学基本理论和概念的理解,培养学生应用 Matlab 等工具进行数字信号处理的基本技能和实践能力, 为工程应用打下良好基础。
4
课程课程设计报告
ys=y1-y2;%两序列相减 %画图 subplot(4,2,1);stem(n1,xn1,'.'); xlabel('n');ylabel('xn');title('正弦信号');grid subplot(4,2,2);stem(ny,y1,'.'); xlabel('n');ylabel('xn');title('修正后的正弦信号');grid subplot(4,2,3);stem(n2,xn2,'.'); xlabel('n');ylabel('xn');title('周期信号');grid subplot(4,2,4);stem(ny,y2,'.'); xlabel('n');ylabel('xn');title('修正后的周期信号');grid subplot(4,2,6);stem(ny,ya,'.'); xlabel('n');ylabel('xn');title('序列相加');grid subplot(4,2,8);stem(ny,ys,'.'); xlabel('n');ylabel('xn');title('序列相减');grid
相位
%生成周期信号
6
课程课程设计报告
clc x=[1 1 1 1 0 0 0];%周期为 7 xn=x'*ones(1,10);%产生 10 个周期长度的序列 xn=xn(:); xn=xn'; n=0:length(xn)-1; xk=fft(xn,128);%计算 xn 的 128 点 dft %以下为周期信号的绘图 k=0:127;wk=2*k/128;%产生 128 点 dft 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(n,xn,'.'); xlabel('n');ylabel('xn');title('周期信号');grid subplot(3,1,2);stem(wk,abs(xk),'.');%绘制 128 点 dft 的幅频特性图 title('128 点 dft 的幅频特性图'); xlabel('\omega/\pi');ylabel('幅度'); subplot(3,1,3);stem(wk,angle(xk),'.');%绘制 128 点 dft 的相频特性图 title('128 点 dft 的相频特性图'); xlabel('\omega/\pi');ylabel('相位');
n
(c)高 斯 随 机 信 号 5
0
-5
0
5
10
15
20Biblioteka Baidu
25
30
35
40
n
xn
1.2 编程计算离散信号的特征值(均值、方差等)。 %生成正弦信号 omega=pi/8;%设置数字角频率 clc ns1=0; nf1=32; n1=[ns1:nf1]; xn1=sin(omega*n1); %生成周期信号 x=[1 1 1 1 0 0 0];%周期为 7 xn2=x'*ones(1,3);%产生 3 个周期长度的序列 xn2=xn2(:); xn2=xn2'; n2=0:length(xn2)-1;
2
课程课程设计报告
subplot(3,1,3); stem(xn3); xlabel('n');ylabel('xn');title('(c)高斯随机信号');grid
xn
xn
(a)正 弦 信 号 1
0
-1
0
5
10
15
20
25
30
35
n
(b)周 期 信 号
1
0
-1
0
2
4
6
8 10 12 14 16 18 20
信号和频谱图形(幅值谱和相位谱);以周期信号为例,观察讨论基本概念(混叠、泄漏、整周
期截取、频率分辨率等)。
3.设计任意数字滤波器,并对某类型信号进行滤波,并对结果进行显示和分析。
三、进度计划
序号
1 2
设计(实验)内容
完成时间
布置课程设计任务、示范讲解 Matlab 0.5 天 程序使用方法
上机进行课程设计