matlab 数字信号处理 ppt,第七讲Matlab在数字信号处理中的运用

第七讲Matlab在数字信号处理中的运用

第七讲 Matlab在数字信号 处理中的运用,数字信号处理(DSP):是指利用计算机或专用处理设备,以数值计算的方法对信号进行采集、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。Matlab是数字信号处理技术实现的重要手段。通过Matlab,可以进行数字信号处理问题理论上的分析和算法开发;配合Simulink,用户可以进行数字信号处理系统的设计和仿真。,本章内容:,离散时间信号与系统数字滤波器概述IIR滤波器的设计,信号,连续信号指时间连续、幅度连续的信号,又称模拟信号,数学上表示为一个时间连续函数f(t);离散信号指时间离散,幅度仍然可以连续的信号。可由f(t)时域取样得到,数学上表示为一个时间离散函数f(n);,数字信号,指时间离散而且幅度也离散的信号,可对模拟信号处理获得:模拟信号 取样、量化、编码 数字信号上述过程又称为脉冲编码调制,这是一个典型的AD变换过程;计算机处理和存储的信号全部是数字信号,通常需要将数字信号还原为模拟信号,过程为:数字信号 解码、反量化、重建 模拟信号这个过程又称为 DA变换。,1. 离散时间信号与系统,1)离散信号及其Matlab实现单位抽样序列(单位冲激) (n):仅在n=0时取值为1.在Matlab中,产生N点的单位抽样序列,我们利用zeros函数来实现:x=zeros(1,N);x(1)=1;,例7-1 产生一个32点的,右移20各单位的冲击序列。程序如下:clear all;N=32;k=20;x=zeros(N);x(k)=1;xn=0:N-1;stem(xn,x);,单位阶跃序列(n),Matlab实现:x=ones(1,N); 右移m,则:正弦序列正弦序列定义:x(n)=Asin(2fnTs+)Matlab实现:n=0:N-1;x=A*sin(2*pi*f*n*Ts+fai);,例7-3:产生一个频率为150Hz,幅度为0.45,初始相位为35度的正弦波,信号持续时间为5s。,Fs=2000;t=1/Fs:1/Fs:5;f=150;A=0.45;Fai=35/180*pi;X=A*sin(2*pi*f.*t+Fai);plot(t(1:100),X(1:100);xlabel(time(sec);ylabel(sin2pi ft);title(150Hz sin wave);disp(按任意键开始播出5秒的150Hz正弦波.);pause;,sound(X,Fs);disp(播放结束,下面将音频数据存盘为C:my50HzSIN.wav);wavwrite(X,Fs,C:my50HzSIN.wav);clear;R,Rs=wavread(C:my50HzSIN.wav);sound(R,Rs);,Matlab实现:n=0:N-1;x=a.n;例: x(n)=实现程序: n=0:10; x=(0.9).n; stem(n,x),实指数序列:x(n)=,随机序列,由于许多实际的序列并不能用数学式来描述,我们将这些序列成为随机序列,并用相应的概率密度函数来表示。Matlab提供了两个随机数产生函数:rand(1,N) 产生0,1上均匀分布的随机序列,N为长度;randn(1,N) 产生均值为0,方差为1的高斯随机序列,即白噪声序列。,例7-4 产生随机序列,%generate random sequencen=200;xn1=rand(1,n);xn2=randn(1,n);subplot(2,2,1),stem(xn1);xlabel(n);ylabel(x(n);title(rand);gridsubplot(2,2,2);hist(xn1,10);xlabel(n);ylabel(x(n);title(均匀分布的概率密度);gridsubplot(2,2,3),stem(xn2);xlabel(n);ylabel(x(n);title(randn);gridsubplot(2,2,4),hist(xn2,10);xlabel(n);ylabel(x(n);title(高斯分布的概率密度)grid,2)波形发生器,Matlab内部提供了大量的函数用以产生噪声及常用的信号波形,这些信号在信号处理中非常重要。方波函数squaresquare函数有两种调用格式:x=square(t);x=square(t,duty);square函数产生周期为2*pi,幅度为1的方波。duty为占空比,即信号为正值的区域在一个周期内所占的百分比。,例如:x=square(2*pi*f*t+fai,duty)% t为时间取样序列% f为方波的基频率% fai为方波的初始相位% duty为占空比,为0-100之间的数。例如 duty=20, 即占空比为20% x 返回的幅度为1的矩形波样值序列,三角函数sawtooth:,x=sawtooth(t);x=sawtooth(t,width);例如:x=sawtooth(2*pi*f*t+fai,width)% f为三角波的基频率% fai为三角波的初相位% width为宽度,为0-1之间取值的尺度参数。若width=0.3,表示在三角波的一个周期内上升沿占30%;若width=0.5,产生对称的三角波;若width=1,产生锯齿波。% 返回的幅度为1的锯齿波样值序列,其它波形发生函数:,chirp线性调频信号dirichlet周期信号sinc傅立叶反变换rectpuls非周期的、单位高度的矩形信号gauspuls高斯调制正弦脉冲tripuls三角形脉冲信号pulstrain高斯调制正弦脉冲、非周期矩形脉冲和非周期三角脉冲voc压控振荡信号,3)序列的操作,信号相加:是一种对应的样本与样本之间的相加,表示为:x1(n)+ x2(n)= x1(n)+ x2(n)用运算符“+”实现,要求参与运算的两个序列长度必须相等。信号相乘:对应采样值之间的相乘,表示为:x1(n)* x2(n)= x1(n) x2(n)用数组运算符“.*”实现,要求参与运算的两个序列长度必须相等。,倍率:每一个采样值乘以一个常数a,表示为ax(n) = ax(n) 用算术运算符“*”实现。折叠:x(n)的每个样本都对n=0翻转,得到一个折叠后的序列y(n)。y(n)= x(-n)由flghr(x)实现。,样本和:将n1和n2之间的所有样本x(n)加起来:由sum(x(n1): x(n2)函数实现。样本积:将n1和n2之间的所有样本x(n)乘起来:由prod x(n1: n2)函数实现。,4)线性系统及其Matlab实现,线性系统的基本概念:连续时间线性时不变系统的表示:拉普拉斯变换描述的传递函数形式;一阶微分方程组描述的状态空间形式离散时间线性系统的表示:Z变换描述的传递函数形式;一阶差分方程组描述的状态空间形式,时域响应工具箱函数,当系统由传递函数、状态方程给出时,Matlab给出了专门求解系统单位冲激相应的函数:impulse(sys): 计算连续系统的冲激响应dimpulse: 计算离散系统的冲激响应,例如:计算 的冲激响应。sys=tf(1,1,1,0.5)Transfer function:1-s2 + s + 0.5impulse(sys);,离散系统模型时域表示,filter函数:利用递归滤波器或非递归滤波器对数据进行滤波。因为一个离散系统可以看作是一个滤波器,系统的输出就是输入经过滤波器滤波的结果。y=filter(b,a,x);表示由向量b和a组成的系统对输入x进行滤波,系统的输出为y;y,zf= filter(b,a,x,zi);zi表示输出信号的初始状态,zf表示该函数返回的系统的最终状态向量。,impz函数:直接给出系统的单位冲激相应,调用格式:impz(b,a),例7-5:当系统的输入差分方程为:y(n)-0.8y(n-1)-0.5y(n-2)=0.7x(n)+0.3(n-1),分别利用filter函数和impz函数求系统的单位冲激相应。clear all;pulse=1,zeros(1,63);b=0.7,0.3;a=1,-0.8,-0.5;h1=filter(b,a,pulse);h2=impz(b,a,64);subplot(2,1,1),stem(h1),title(filter fuction);subplot(2,1,2),stem(h2),title(impz fuction);,传递函数响应,freqs函数:用于计算并画出连续系统的幅频响应和相频响应。常用的调用格式为:h=freqs(b,a) h=freqs(b,a,w) 其中:b为传递函数H(s)分子多项式系数,a为分母多项式系统,w是指定计算频率点序列,如果w省略,则自动取200个频率点作计算。h为返回值,是对应于频率点序列w的复频率响应。,freqz函数:用于计算并画出离散系统的幅频响应和相频响应。该函数使用基于FFT算法计算系统传递函数响应模型中的系数向量a和b。常用调用格式为:h,f=freqz(b,a,n,fs)其中:b为传递函数H(z)分子多项式系数,a为分母多项式系数,n为指定计算频率点数(由于采用FFT算法,n常取2的幂次方,以提高计算速度),fs为离散系统的采样频率,h为对应于频率点序列f的复频率响应。如无输出变量,则自动作出幅频响应和相频响应图,f为记录频率点数。,2. 数字滤波器概述,1)数字滤波器的数学描述和分类 数字滤波器(DF,Digital Filter)在数字信号处理中起着重要的作用。在信号的处理,检测与参数的估计方面,数字滤波器是使用最为广泛的一种系统。,由于信号通常夹杂噪声及无用信号成分,所以必须将这些干扰成分滤除。滤波器可以对信号进行筛选,只让特定信号通过。一般而言,噪声信号往往是高频信号。而经典滤波器正是假定有用信号与噪声具有不同的频段,所以利用经典的滤波器可以将噪声滤除。但是如果信号和噪声频谱相互重叠,那么利用经典的滤波器就不能发挥作用。现代滤波器的作用是从含有噪声的数据记录中估计除信号的某些特征或信号本身,那么估计出来的信号和源信号相比,就具有更高的信噪比。,滤波是信号处理的基础,滤波运算是信号处理中的基本运算。因此,滤波器的实际问题也是数字信号处理中的主要问题。数字滤波器的本质是将一组输入的数字序列通过一定的运算后,转变成为另一组输出的数字序列。,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值