数字信号处理

  • 复习
    • 实验1
      • matlab相关语法
      • matlab如何绘制幅频特性曲线?
      • 混叠与泄露现象
    • 实验2
      • matlab相关语法
      • FFT
      • 什么是循环卷积
      • matlab如何直接时域线性卷积和FFT求线性卷积,圆周卷积
  • ——————————————————————————
  • 实验一
  • 实验二

复习

实验1

matlab相关语法

figure函数:用于创建数据窗口
subplot函数:h = subplot(m,n,p)figure划分为m×n块,在第p块创建坐标系,并返回它的句柄
stem函数用于显示茎秆图
abs(x)函数是对数组元素进行绝对值处理,或者求复数的幅值
angle函数:求复数相角

matlab如何绘制幅频特性曲线?

幅频:
专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下几种:
(1)[H,w]=freqz(B,A,N); %N默认值为512

(2)[H,w]=freqz(B,A,N,‘whole’);

(3)[H,w]=freqz(B,A,[自定义区间]);

(1)式调用默认区间 0:pi

(2)式调用主值区间 -pi:pi

(3)式自定义区间,如[0:2pi/n:2pi]
最后利用abs()和angle()函数及plot()函数,即可绘制出系统在频率区间的频响曲线。,

混叠与泄露现象

混叠是由于对连续信号x(t)的采样不满足采样定理,即fs<2fh,使频谱产生失真
什么是泄露?
信号将被截断为帧,倘若信号截断的长度不为原始正弦信号周期的整数倍,那么,截断后的信号则不为周期信号。由于信号的非周期截断,导致频谱在整个频带内发生了拖尾现象。这是非常严重的误差,称为泄漏,是数字信号处理所遭遇的最严重误差。

实验2

matlab相关语法

fft函数:对于时间离散序列x,y=fft(x,N),N是序列x参与fft运算的点的个数,返回序列y的长度也为N
tic和toc函数:tic函数会记录起始时刻,toc函数会自动计算时间差,自动输出
unwrap函数:一般和angle配合使用
ph0=angle(s)*180/pi=[10 150 -90]
ph1=unwrap(angle(s))*180/pi=[10 150 270]
nextpow2函数:
2^nextpow2(320)=512
2^nextpow2(128)=128

FFT

FFT从入门到使用

什么是循环卷积

https://baike.baidu.com/item/%E5%BE%AA%E7%8E%AF%E5%8D%B7%E7%A7%AF/16600419#1

matlab如何直接时域线性卷积和FFT求线性卷积,圆周卷积

matlab直接求线性卷积和FFT求线性卷积
圆周卷积matlab写法
注意:线性卷积和圆周卷积并没有想象中的那么大区别

——————————————————————————

实验一

n=0:1:15;
%初始化数据
a=0.1;
f1=0.0625;
%改变的频率
f2=0.4375;
f3=0.5625;
xb1=exp(-a*n).*sin(2*pi*f1*n);
figure
subplot(3,2,1);
%绘制时域茎杆图
stem(n,xb1,'.');
title('f=0.0625的时域特性');
xlabel('n');
ylabel('xb1(n)');
grid on;
%绘制频域特性曲线
[H,w]=freqz(xb1,1,[],'whole',1);
Hamplitude=abs(H);
subplot(3,2,2);
plot(w,Hamplitude);
title('f=0.0625的幅频响应');
xlabel('w/(2*pi)');
ylabel('|H(exp(jw))|');
grid on;%改变频率为0.4375,其余一样
xb2=exp(-a*n).*sin(2*pi*f2*n);
subplot(3,2,3);
stem(n,xb2,'.');
title('f=0.4375的时域特性');
xlabel('n');
ylabel('xb2(n)');
grid on;
[H,w]=freqz(xb2,1,[],'whole',1);
Hamplitude=abs(H);
subplot(3,2,4);
plot(w,Hamplitude);
title('f=0.4375的幅频响应');
xlabel('w/(2*pi)');
ylabel('|H(exp(jw))|');
grid on;%改变频率为0.5625,其余一样
xb3=exp(-a*n).*sin(2*pi*f3*n);
subplot(3,2,5);
stem(n,xb3,'.');
title('f=0.5625的时域特性');
xlabel('n');
ylabel('xb3(n)');
grid on;
[H,w]=freqz(xb3,1,[],'whole',1);
Hamplitude=abs(H);
subplot(3,2,6);
plot(w,Hamplitude);
title('f=0.5625的幅频响应');
xlabel('w/(2*pi)');
ylabel('|H(exp(jw))|');
grid on;

实验二

%利用自己定义的线性卷积函数直接求线性卷积和FFT求线性卷积,进行时间对比
N=16;
n=0:1:15;
p=8;q=2;
a=0.1;f=0.0625;
xa=exp(-((n-p).^2)./q);
xb=exp(-a*n).*sin(2*pi*f*n);
%自己定义的函数直接卷积
tic
[y1,ny1]=conv_self(xa,16,xb,16);
toc
%FFT求线性卷积,进行时间对比
X1=fft(xa,2*16-1);
H1=fft(xb,2*16-1);
Y5=X1.*H1;
tic
y=ifft(Y5);
toc
figure(2)
stem(y);
title("FFT线性卷积");%自己定义的直接卷积函数
function[y,ny]=conv_self(x,nx,h,nh)
ny=nx+nh-1;
for n=1:ny    y(n)=0;     for m=1:nh        k=n-m+1;         if(k>=1&k<=nx)             y(n)=y(n)+h(m)*x(k);         end     end
end
figure(1)
n=0:1:ny-1;
xx=0:nx-1;
hh=0:nh-1;
subplot(311);
stem(xx,x,'.');
title('xa序列');
grid;
subplot(312);
stem(hh,h,'.');
title('xb序列');
grid;
subplot(313);
stem(n,y,'.');
title('调用自定义的线性卷积函数后的线性卷积序列');
grid;
end
%自己定义的圆周卷积,非FFT
%线性卷积和圆周卷积相等的条件:N>=n1+n2function  [y,ny]=circonv(xa,na,xb,nb,N)y=ones(1,N);x1=ones(1,N);x2=ones(1,N);ny=min(na)+min(nb):min(na)+min(nb)+N-1消除图像偏移量for i=1:Nif(i<=length(xa))x1(i)=xa(i);elsex1(i)=0;endendfor i=1:Nif(i<=length(xb))x2(i)=xb(i);elsex2(i)=0;endendfor i=1:Ny(i)=0;for j=1:Nif j<=iy(i)=y(i)+x1(j)*x2(i+1-j);elsey(i)=y(i)+x1(j)*x2(N+i+1-j);endendend
%利用上面函数求圆周卷积
[y1,ny1]=circonv(xa,16,xb,16,16);
figure(3);
stem(ny1,y1);
%FFT圆周卷积
%线性卷积和圆周卷积相等的条件:N>=n1+n2
%FFT圆周卷积16点
N=16;
n=0:1:15;
p=8;q=2;
a=0.1;f=0.0625;
xa=exp(-((n-p).^2)./q);
xb=exp(-a*n).*sin(2*pi*f*n);
tic
y=ifft(fft(xa,16).*fft(xb,16));
toc
figure(2)
stem(y);
title("FFT的16点圆周卷积");

数字信号处理matlab相关实验相关推荐

  1. 数字信号处理matlab相关基础例题分析

    #离散时间信号与系统的频域分析 例3.7 已知离散时间系统的传输函数如下 ,试绘制其频率响应曲线. freqz,为滤波器频率响应函数,用于生成对应的传输函数,其参数依次对应分子系数.分母系数以及生成的 ...

  2. 数字信号处理matlab实验报告,数字信号处理,matlab实验报告

    数字信号处理,matlab实验报告 Matlab实验报告 实验一: 1. 实验Matlab代码: N=25; Q=0.9+0.3*j; WN=exp(-2*j*pi/N); x=zeros(25,1) ...

  3. 数字信号处理 matlab 答案,数字信号处理课后习题Matlab作业

    <数字信号处理课后习题Matlab作业>由会员分享,可在线阅读,更多相关<数字信号处理课后习题Matlab作业(22页珍藏版)>请在人人文库网上搜索. 1.数字信号处理MATL ...

  4. matlab wc wp,数字信号处理MATLAB习题.PDF

    数字信号处理MATLAB习题 数字信号处理MATLAB 习题 电气硕 72 李弘昌 第11 题 分别用脉冲响应不变法和双线性变换法设计一个巴特沃斯型IIR 低通数字滤波器,采样 频率 ,其通带边频 处 ...

  5. qtcp多用户同时发信息的信号处理_FPGA进行数字信号处理的相关问题有哪些?来看数字信号处理系统架构分析!...

    关注并标星大同学吧 每周1次,打卡阅读 快速获取行业最新资讯 经验犹如一盏明灯的光芒 它使早已存在于头脑中 朦胧的东西豁然开朗 全文共3031字,预计阅读6分钟 笔经面经(第22期) 在2000年之后 ...

  6. 数字信号处理matlab设计滤波器

    目 录 1  设计目的.内容及要求 1 1.1 设计目的 1 1.2 设计内容 1 1.3 设计思考 2 1.4 设计要求 2 2 设计方案与设计原理 3 2.1 设计思路 3 2.2 采样定理 3 ...

  7. 【信号处理】数字信号处理Matlab设计附GUI界面和报告

    1 简介​ 信号处理是现代信息处理的基本内容,数字信号的处理更是重中之重.数字信号处理的研究内容主要是语音信号和图像信号,而研究语音信号对于现代语音通信有着积极的意义.研究语音信号又分为时域和频域两个 ...

  8. 数字信号处理MATLAB笔记

    全文框架 1.函数笔记 fft():快速傅里叶变换 Y = fft(X,n,dim) 计算x的n点DFT,x长度不够n时补0,比n长时截短,dim为对x做傅里叶变换的维数. ifft():傅里叶反变换 ...

  9. 数字信号处理matlab心得,数字信号处理学习心得体会3篇

    <数字信号处理>是我们通信工程和电子类专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和适当的数学分析处理,来展示这些理论和方法的实际 ...

最新文章

  1. python使用matplotlib可视化包含倒影的柱状图(bar plot with shadow)、配置rcParams坐标轴正确显示负号(-)
  2. 在pymongo中使用distinct
  3. matlab把每次循环的结果保存idx,来自Matlab的循环Python
  4. python 编程该看那些书籍_我用python5年后,我发现学python编程必看的三本书!
  5. vue - blog开发学习2
  6. 掌握基于AOP事务管理
  7. delphi image 编辑器_照片拼图编辑器app下载-照片拼图编辑器下载 v1.0.0 安卓版
  8. 单片机c语言检测压力值,基于单片机的压力检测系统设计论文.doc
  9. 【Spring MVC】 错误: 找不到或无法加载主类 解决方法
  10. Java并发编程-常用的辅助类
  11. php 图片剪切为透明,解决PHP剪切缩略图生成png,gif透明图时,黑色背景问题
  12. MQTT-WebSocket连接通信
  13. Linux多线程服务端编程:使用muduo C++网络库
  14. 产品设计体会(4013)产品路标规划
  15. 支付宝支付(cordova-plugin-alipay-v2 ) 报错AL138173
  16. LivePlayer H5播放器、在react中使用
  17. 清华EMBA课程系列思考之十四 -- 战略管理
  18. 用Win32DiskImager写入U盘容量变小,恢复容量方法
  19. win10使用FFmpeg录屏/录音
  20. 将登记照图片尺寸宽高文件大小进行调整修改的工具

热门文章

  1. RGB和HSV颜色模型
  2. CSS3颜色值RGBA与渐变色
  3. iOS - 检测耳机孔是否存在耳机:
  4. 计算机网络之ip、子网掩码、网络号、主机号等概念解析
  5. 使用向量的方法来计算点到直线的距离
  6. 文华财经期货量化短线策略支撑压力指标公式,短线行情无未来函数多空均线红涨绿跌信号
  7. lua小技巧(二)——lua全局变量的检测
  8. 大数据技术之Kylin
  9. (二)python学习笔记之列表入门
  10. 学习VM上运行dnf(整理)