基于matlab的信号分析与处理
- 格式:docx
- 大小:26.77 KB
- 文档页数:13
基于MATLAB的心电信号的分析与处理设计心电信号是一种重要的生物信号,可以通过分析和处理心电信号来诊断心脏病和其他心血管疾病。
在本文中,我将介绍基于MATLAB的心电信号分析与处理的设计方案。
首先,我们需要明确任务的目标和需求。
心电信号的分析与处理主要包括以下几个方面:心率分析、心律失常检测、心电特征提取和心电图绘制。
下面将详细介绍每个方面的设计方案。
1. 心率分析:心率是心电信号中最基本的参数之一,可以通过计算心电信号的RR间期来得到。
RR间期是相邻两个R波之间的时间间隔,R波是心电信号中最明显的波峰。
我们可以使用MATLAB中的信号处理工具箱来计算RR间期。
首先,我们需要对心电信号进行预处理,包括滤波和去除噪声。
常用的滤波方法有低通滤波和高通滤波。
低通滤波可以去除高频噪声,高通滤波可以去除低频噪声。
MATLAB中的fir1函数可以用于设计滤波器。
然后,我们可以使用MATLAB中的findpeaks函数来检测R波的位置。
findpeaks函数可以找到信号中的峰值,并返回峰值的位置和幅值。
通过计算相邻两个R波的时间间隔,就可以得到心率。
2. 心律失常检测:心律失常是心脏节律异常的一种表现,可以通过心电信号的特征来检测。
常见的心律失常包括心房颤动、心室颤动等。
我们可以使用MATLAB中的自动检测算法来检测心律失常。
首先,我们需要对心电信号进行预处理,包括滤波和去除噪声,同心率分析中的方法相同。
然后,我们可以使用MATLAB中的心律失常检测工具箱来进行心律失常检测。
心律失常检测工具箱提供了多种自动检测算法,包括基于模板匹配的方法、基于时间域特征的方法和基于频域特征的方法。
根据具体的需求和数据特点,选择合适的算法进行心律失常检测。
3. 心电特征提取:心电信号中包含丰富的信息,可以通过提取心电特征来辅助心脏疾病的诊断。
常见的心电特征包括QRS波群宽度、ST段变化和T波形态等。
我们可以使用MATLAB中的特征提取工具箱来提取心电特征。
基于MATLAB的模拟信号频率调制与解调分析信号频率调制(FM)是一种将信息信号调制到载频波形上以便在传输过程中保持信号质量的技术。
本文将基于MATLAB对信号频率调制与解调进行分析与模拟。
首先,我们需要生成一个调制信号。
以正弦信号为例,通过改变该信号的频率来模拟调制信号。
我们可以使用MATLAB的信号处理工具箱中的`fmmod(`函数来实现这一点。
以下是一个示例代码:```matlabt = 0:1/fs:1; % 时间向量fc = 2000; % 载频频率fm = 100; % 调制信号频率m = sin(2*pi*fm*t); % 调制信号modulatedSignal = fmmod(m, fc, fs); % 使用fmmod进行调频调制subplot(2,1,1);plot(t, m);title('调制信号');xlabel('时间');ylabel('振幅');subplot(2,1,2);title('调制后信号');xlabel('时间');ylabel('振幅');```上述代码中,我们定义了采样频率、时间向量、载频频率和调制信号频率,并生成了调制信号。
然后,我们使用`fmmod(`函数将调制信号调制到载频波形上。
最后,我们用两个子图分别显示调制信号和调制后信号。
接下来,我们将对调制后的信号进行解调以还原原始信号。
我们可以使用MATLAB的信号处理工具箱中的`fmdemod(`函数。
以下是一个示例代码:```matlabdemodulatedSignal = fmdemod(modulatedSignal, fc, fs); % 使用fmdemod进行解调subplot(2,1,1);plot(t, modulatedSignal);title('调制后信号');xlabel('时间');ylabel('振幅');subplot(2,1,2);title('解调后信号');xlabel('时间');ylabel('振幅');```上述代码中,我们使用`fmdemod(`函数对调制后的信号进行解调。
武汉工程大学电气信息学院三、实验数据与结果分析1、2、四、思考:2. 3.四、思考:1、代数运算符号*和.*的区别是?*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和.*是数组相乘,表示数组A和数组B中的对应元素相乘实验内容实验三连续时间信号的卷积一、实验内容1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?2、、计算信号()()()11==-a t u e t f at 和()()t tu t f sin 2=的卷积f(t),f 1(t)、f 2(t)的时间范围取为0~10,步长值取为0.1。
绘制三个信号的波形。
二、实验方法与步骤1、绘制信号f 1(t)、f 2(t)及卷积结果f(t)的波形,当dt 取0.01时程序的计算结果就是连续时间卷积的较好近似程序代码如下:clear allclose allclcdt=0.01t1=0:dt:2;t2=-1:dt:1;f1=0.5*t1;f2=0.5*(t2+1);y=dt*conv(f1,f2); %计算卷积t0=t1(1)+t2(1); %计算卷积结果的非零样值的起点位置2.实验内容三、实验数据与结果分析1.2.实验内容实验五连续时间信号的频域分析一、实验内容1、如图5.4所示的奇谐周期方波信号,周期为T1=1,幅度为A=1,将该方波信号展开成三角形式Fourier级数并分别采用频域矩形窗和Hanning窗加权,绘制两种窗函数加权后的方波合成图像。
时间范围取为-2~2,步长值取为0.01。
2、将图5.5中的锯齿波展开为三角形式Fourier级数,按(2)式求出Fourier级数的系数,并在频域分别采用矩形窗、Hanning窗和三角窗加权,观察其Gibbs效应及其消除情况。
时间范围取为-2~2,步长值取为0.01。
随机信号分析实验报告——基于MATLAB语言姓名:_班级:_学号:专业:目录实验一随机序列的产生及数字特征估计 (2)实验目的 (2)实验原理 (2)实验内容及实验结果 (3)实验小结 (6)实验二随机过程的模拟与数字特征 (7)实验目的 (7)实验原理 (7)实验内容及实验结果 (8)实验小结 (11)实验三随机过程通过线性系统的分析 (12)实验目的 (12)实验原理 (12)实验内容及实验结果 (13)实验小结 (17)实验四窄带随机过程的产生及其性能测试 (18)实验目的 (18)实验原理 (18)实验内容及实验结果 (18)实验小结 (23)实验总结 (23)实验一随机序列的产生及数字特征估计实验目的1.学习和掌握随机数的产生方法。
2.实现随机序列的数字特征估计。
实验原理1.随机数的产生随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。
进行随机信号仿真分析时,需要模拟产生各种分布的随机数。
在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。
伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。
伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。
(0,1)均匀分布随机数是最最基本、最简单的随机数。
(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。
即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下:,序列为产生的(0,1)均匀分布随机数。
定理1.1若随机变量X 具有连续分布函数,而R 为(0,1)均匀分布随机变量,则有2.MATLAB中产生随机序列的函数(1)(0,1)均匀分布的随机序列函数:rand用法:x = rand(m,n)功能:产生m×n 的均匀分布随机数矩阵。
(2)正态分布的随机序列函数:randn用法:x = randn(m,n)功能:产生m×n 的标准正态分布随机数矩阵。
《数字信号处理》课程设计设计题目:基于MATLAB 的音乐信号处理和分析一、课程设计的目的本课程设计通过对音乐信号的采样、抽取、调制、解调等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生掌握的基本理论和分析方法知识得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计基本要求1学会MATLAB 的使用,掌握MATLAB的基本编程语句。
2掌握在Windows 环境下音乐信号采集的方法。
3掌握数字信号处理的基本概念、基本理论和基本方法。
4掌握MATLAB 设计FIR 和IIR 数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、设计数字滤波器的编程方法。
三、课程设计内容1、音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;③使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
Wavread格式说明:[w,fs,b]=wavread(‘语音信号’),采样值放在向量w中,fs表示采样频率(hz),b表示采样位数。
上机程序:[y,fs,bit]=wavread('I do片段')%读取音乐片段,fs是采样率size(y)%求矩阵的行数和列数y1=y( : ,1);%对信号进行分列处理n1=length(y1);%取y的长度t1=(0:n1-1)/fs;%设置波形图横坐标 figuresubplot(2,1,1);plot(t1,y1); %画出时域波形图 ylabel('幅值');xlabel('时间(s )'); title('信号波形'); subplot(2,1,2); Y1=fft(y1);w1=2/n1*(0:n1-1);%设置角频率 plot(w1,abs(Y1));%画频谱图 title('信号频谱'); xlabel('数字角频率'); ylabel('幅度'); grid on ;sound(y,fs); 实验结果:123456幅值时间(s )信号波形信号频谱数字角频率幅值1、通过观察频谱知,选取音乐信号的频谱集中在0~0.7*pi 之间,抽样点数fs=44100;2、当采样频率问原来0.5(0.5*fs )倍时:音乐片段音调变得非常低沉,无法辨认原声,播放时间变长;抽样频率减小,抽样点数不变时,其分辨力增大,记录长度变长,声音失真。
基于matlab信号分析与处理信号分析与处理是一门重要的学科,它涉及到许多领域,如通信、音频处理、图象处理等。
在信号分析与处理中,Matlab是一种常用的工具,它提供了丰富的函数和工具箱,可以匡助我们进行信号的分析和处理。
首先,我们需要了解信号的基本概念。
信号可以分为连续信号和离散信号两种类型。
连续信号是在时间上是连续变化的,而离散信号则是在时间上是离散的。
在Matlab中,我们可以使用不同的函数来表示和处理这两种类型的信号。
对于连续信号,我们可以使用Matlab中的plot函数来绘制信号的图象。
例如,我们可以使用以下代码来绘制一个正弦信号:```matlabt = 0:0.01:2*pi; % 时间范围为0到2πx = sin(t); % 正弦信号plot(t, x); % 绘制信号图象xlabel('时间'); % 设置x轴标签ylabel('幅度'); % 设置y轴标签title('正弦信号'); % 设置图象标题```对于离散信号,我们可以使用Matlab中的stem函数来绘制信号的图象。
例如,我们可以使用以下代码来绘制一个离散的方波信号:```matlabn = 0:10; % 时间范围为0到10x = square(n); % 方波信号stem(n, x); % 绘制信号图象xlabel('时间'); % 设置x轴标签ylabel('幅度'); % 设置y轴标签title('方波信号'); % 设置图象标题```除了绘制信号的图象,我们还可以对信号进行一系列的分析和处理。
例如,我们可以使用Matlab中的fft函数来进行信号的频谱分析。
以下是一个示例代码:```matlabFs = 1000; % 采样频率为1000Hzt = 0:1/Fs:1; % 时间范围为0到1秒x = sin(2*pi*50*t) + sin(2*pi*120*t); % 两个正弦信号的叠加y = fft(x); % 对信号进行傅里叶变换f = (0:length(y)-1)*Fs/length(y); % 计算频率范围plot(f, abs(y)); % 绘制频谱图象xlabel('频率'); % 设置x轴标签ylabel('幅度'); % 设置y轴标签title('频谱分析'); % 设置图象标题```除了频谱分析,我们还可以对信号进行滤波、降噪、特征提取等处理。
利用MATLAB进行心电图信号处理与分析心电图(Electrocardiogram,简称ECG)是一种记录心脏电活动的重要手段,通过对心电图信号的处理与分析可以帮助医生判断患者的心脏健康状况。
MATLAB作为一种功能强大的科学计算软件,被广泛运用于心电图信号处理与分析领域。
本文将介绍如何利用MATLAB进行心电图信号处理与分析,包括信号预处理、特征提取、心率检测等内容。
1. 信号预处理在进行心电图信号处理之前,首先需要对原始信号进行预处理,以提高后续分析的准确性和可靠性。
常见的信号预处理方法包括滤波、去噪和基线漂移校正等。
1.1 滤波滤波是信号处理中常用的技术,可以去除信号中的噪声和干扰,保留有用的信息。
在心电图信号处理中,常用的滤波方法包括低通滤波、高通滤波和带通滤波等。
MATLAB提供了丰富的滤波函数和工具箱,可以方便地实现各种滤波操作。
1.2 去噪心电图信号往往受到各种干扰和噪声的影响,如肌肉运动、呼吸运动等。
去噪是信号预处理中至关重要的一步,可以有效提取出心电活动的真实信息。
MATLAB中有多种去噪算法可供选择,如小波去噪、均值滤波等。
1.3 基线漂移校正基线漂移是指心电图信号中由于各种原因引起的直流成分变化,会影响后续特征提取和分析的准确性。
在预处理阶段需要对基线漂移进行校正,以保证后续分析结果的可靠性。
MATLAB提供了多种基线漂移校正方法,如多项式拟合、小波变换等。
2. 特征提取特征提取是对经过预处理的心电图信号进行进一步分析和抽取有意义的特征信息。
常见的特征包括R峰位置、QRS波群宽度、ST段变化等,这些特征可以反映心脏活动的规律和异常情况。
2.1 R峰检测R峰是心电图中QRS波群中最高点对应的峰值,通常用于计算心率和分析心脏节律。
MATLAB提供了多种R峰检测算法,如基于阈值法、基于波形相似性比较法等。
通过R峰检测可以准确计算心率,并进一步分析心脏节律是否规律。
2.2 QRS波群特征提取除了R峰位置外,QRS波群中的形态和宽度也包含了丰富的信息。
基于matlab的语音信号分析与处理摘要:滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。
Matlab功能强大、编程效率高, 特别是Matlab具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。
基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。
使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR 数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。
关键词:数字滤波器;MATLAB;切比雪夫Abstract:Filter design in digital signal processing plays an extremely important role, FIR digital filters and IIR filter is an important part of filter design. Matlab is powerful, programming efficiency, Matlab also has a particular signal analysis toolbox, it need not have strong programming skills can be easily signal analysis, processing and design. MATLAB based on the noise issue speech signal processing design and implementation of digital signal processing integrated use of the theoretical knowledge of the speech signal plus noise, time domain, frequency domain analysis and filtering. The corresponding results obtained through theoretical derivation, and then use MATLAB as a programming tool for computer implementation.Implemented in the design process, using the windowfunction method to design FIR digital filters with Butterworth, Chebyshev and bilinear Reform IIR digital filter design and use of MATLAB as a supplementary tool to complete the calculation and graphic design Drawing.Keywords:digital filter; MATLAB; Chebyshev语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
基于MATLAB的信号的频谱分析信号频谱分析是一种将时域信号转换为频域信号的方法。
频谱分析可以帮助我们了解信号的频率成分、频率特性以及频率分布情况。
MATLAB 是一种强大的信号处理工具,提供了丰富的函数和工具用于频谱分析。
在MATLAB中,频谱分析主要通过使用FFT(快速傅里叶变换)来实现。
FFT可以将时域信号转换为频率域信号,它是一种高效的计算算法,可以快速计算信号的频谱。
首先,我们需要先读取信号数据并将其转换为MATLAB中的矩阵数据形式。
可以使用`load`函数读取信号数据,然后将其存储为一个向量或矩阵。
```matlabdata = load('signal_data.txt');```接下来,我们可以使用`fft`函数对信号进行频谱分析。
`fft`函数会返回一个复数向量,表示信号在频率域的频率分量。
```matlabfs = 1000; % 采样频率N = length(data); % 信号长度frequencies = (0:N-1)*(fs/N); % 计算频率坐标轴spectrum = fft(data); % 进行FFT变换```在以上代码中,我们先计算了信号的采样频率`fs`和信号的长度`N`。
然后使用这些参数计算频率坐标轴`frequencies`。
最后使用`fft`函数对信号进行FFT变换,得到信号的频谱`spectrum`。
为了得到信号的幅度谱图,我们可以使用`abs`函数计算复数向量的绝对值。
```matlabamplitude_spectrum = abs(spectrum);```接下来,我们可以绘制信号的幅度谱图。
使用`plot`函数可以绘制信号在频率域的幅度分布图。
```matlabfigure;plot(frequencies, amplitude_spectrum);xlabel('Frequency (Hz)');ylabel('Amplitude');title('Amplitude Spectrum');```此外,我们还可以绘制信号的功率谱图。
基于m a t l a b的信号分析与处理IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】山东建筑大学课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计院(部):信息与电气工程学院专业:通信工程班级:通信111班学生姓名:学号:指导教师:完成日期: 2014年1月目录4摘要这次是基于MATLAB的信号分析与处理。
所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。
常用的经典滤波器有低通、高通、带通、带阻。
首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。
关键词:MATLAB; FFT;滤波器;信号产生;频谱分析1设计目的和要求产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。
2设计原理信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。
这就是信号的时域采样。
频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
IIR滤波器的设计原理:IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。
IIR数字滤波器的设计步骤:(1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;(2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;(3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;(4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。
3设计内容程序源代码f1=40;f2=300;f3=2000;t=(1:500)/8000;%每个周期采8000个点,Fs1=8000x1=sin(2*pi*t*f1);figure(1);subplot(2,1,1);plot(x1);xlabel('t');ylabel('x1(t)');title('连续信号');grid;x2=sin(2*pi*t*f2);subplot(2,1,2);plot(x2);xlabel('t');ylabel('x2(t)');title('连续信号');grid;x3=sin(2*pi*t*f3);figure(2);subplot(2,1,1);plot(x3);xlabel('t');ylabel('x3(t)');title('连续信号');grid;subplot(2,1,2); %只放大显示x3(t)的0~50的部分plot(x3);axis([0 50 -1 ]);xlabel('t');ylabel('x3(t)');title('连续信号');grid;x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); figure(3);subplot(2,1,1);plot(x);xlabel('t');ylabel('x(t)');title('连续信号');grid;n=[1:500];t=n/6000;%Fs2=6000,t=nT,T=1/FsX=fft(x,512);w=(0:255)/256*3000;%Fs/2=3000x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); subplot(2,1,2);stem(x);xlabel('n');ylabel('x(n)');title('数字信号');grid;figure(4);subplot(2,1,1); %只放大显示x(n)的0~50的部分stem(x);axis([0 50 -4 4]);xlabel('n');ylabel('x(n)');title('数字信号');grid;subplot(2,1,2);plot(w,abs([X(1:256)]));xlabel('Hz');ylabel('频率响应幅度');title('频谱图');grid;wp=;ws=;Rp=2;As=30;[N,wc]=buttord(wp,ws,Rp,As);[B,A]=butter(N,wc);[H,w]=freqz(B,A,512);figure(5);subplot(2,1,1);plot(w*6000/(2*pi),abs(H));axis([0 100 0 ]);%横坐标显示为0~100,纵坐标为0~ xlabel('Hz');ylabel('频率响应幅度');title('低通滤波器');grid;subplot(2,1,2);plot(w/(2*pi),angle(H));xlabel('Hz');ylabel('angle');title('相位特性');grid;y=filter(B,A,x);figure(6);subplot(2,1,1);plot(y);axis([0 500 -1 1]);xlabel('t');ylabel('x(t)');title('连续信号');grid;Y=fft(y,512);w=(0:255)/256*3000;subplot(2,1,2);plot(w,abs([Y(1:256)]));xlabel('Hz');ylabel('频率响应幅度');title('频谱图');grid;wp=[,];ws=[,];Rp=3;As=20;[N,wpo]=ellipord(wp,ws,Rp,As);[B,A]=ellip(N,Rp,As,wpo);[H,w]=freqz(B,A,512);figure(7);subplot(2,1,1);plot(w*6000/(2*pi),abs(H));xlabel('Hz');ylabel('频率响应幅度');title('带通滤波器');grid;subplot(2,1,2);plot(w/pi,angle(H));xlabel('Hz');ylabel('angle');title('相位特性');grid;y=filter(B,A,x);figure(8);subplot(2,1,1);plot(y);xlabel('t');ylabel('x(t)');title('连续信号');grid;Y=fft(y,512);w=(0:255)/256*3000; subplot(2,1,2);plot(w,abs([Y(1:256)])); xlabel('Hz');ylabel('频率响应幅度');title('频谱图');grid;wp=;ws=;Rp=3;As=30; [N,wc]=buttord(wp,ws,Rp,As); [B,A]=butter(N,wc,'high'); [H,w]=freqz(B,A,512);figure(9);subplot(2,1,1);plot(w*6000/(2*pi),abs(H)); axis([0 3000 0 ]);xlabel('Hz');ylabel('频率响应幅度');title('高通滤波器');grid;subplot(2,1,2);plot(w/pi,angle(H));xlabel('Hz');ylabel('angle');title('相位特性');grid;y=filter(B,A,x);figure(10);subplot(2,1,1);plot(y);axis([0 200 -1 1]);xlabel('t');ylabel('x(t)');title('连续信号');grid;Y=fft(y,512);w=(0:255)/256*3000;subplot(2,1,2);plot(w,abs([Y(1:256)]));xlabel('Hz');ylabel('频率响应幅度');title('频谱图');grid;调试分析过程描述f1=20Hz,x1(t)的时域图;f2=200,x2(t) 的时域图如下:f3=2000,x3(t) 的时域图;放大显示x3(t)的0~50的部分时域图如下:x(t)= x1(t)+x2(t)+ x3(t)(实际也为数字信号,采样频率为8000Hz)的时域图;对x(t)进行Fs=6000Hz的采样得数字信号x(n) 的时域图如下:放大显示x(n)的0~50的部分时域图;x(n)的幅频特性曲线如下:wp=50/3000=,ws=200/3000=,Rp=2,As=30,巴特沃斯低通滤波器的幅频特性曲线和相频特性曲线如下:x(n)经过低通滤波器后的时域和频谱图如下:Wp1=100/3000=,Wp2=330/3000=,Ws1=50/3000=,Ws2=450/3000=,Rp=3,As=20,椭圆带通滤波器的幅频特性曲线和相频特性曲线如下:x(n)经过带通滤波器后的时域和频谱图如下:wp=1600/3000=,ws=1200/3000=,Rp=3,As=30,巴特沃斯高通滤波器的幅频特性曲线和相频特性曲线如下:x(n)经过高通滤波器后的时域和频谱图如下:结果分析由上图可见,经过低通滤波器后信号的低频成分被保留,中频和高频成分被有效滤除,同理高通滤波器低频,中频成分被有效滤除。