一:用傅里叶变换编程对复杂周期信号分解,对非周期信号分解。(1):程序如下:
定义傅里叶函数。
function [a,b,f]=fouriers(f,t,t,a,b,k)w=2*pi/t;
a=1/t*int(f,t,a,b);%求a0的值b=f=a;
for i=1:k
ak=2/t*int(f*cos(i*w*t),t,a,b);bk=2/t*int(f*sin(i*w*t),t,a,b);a=[a,ak];b=[b,bk];
f=f+ak*cos(i*w*t)+bk*sin(i*w*t);end
用傅里叶变换编程对复杂的周期函数f=sin(t+pi/6)+sin(2*t+pi/4)+sin(3*t+pi/3)syms t f
f=sin(t+pi/6)+sin(2*t+pi/4)+sin(3*t+pi/3)t=6*pi;a=0;b=2*pi;k=5;[a,b,f]=fouriers(f,t,t,a,b,5);f;
vpa(f,3)%将f的结果中的数值取三位小数。
用傅里叶变换编程对非周期函数的f=4*sin(t+pi/3)+sqrt(2)*cos(t+pi/4)+sin(sqrt(3)*t-pi/4);syms t
f1=4*sin(t+pi/3);
t1=2*pi;a=0;b=2*pi;k=5;
a,b,f1]=fouriers(f1,t,t1,a,b,5);f1;
f2=sqrt(2)*cos(t+pi/4);t2=2*pi;a=0;b=2*pi;k=5;
a,b,f2]=fouriers(f1,t,t2,a,b,5);f2;
f3=sin(sqrt(3)*t-pi/4);
t3=2*pi/sqrt(3);a=0;b=2*pi;k=5;[a,b,f3]=fouriers(f1,t,t3,a,b,5);f3;
f=f1+f2+f3;
vpa(f,3)%将f的结果中的数值取三位小数运行结果为。
f=.214*cos(.333*t)-.
183*sin(.333*t)+.412*cos(.
667*t)+.686e-1*sin(.667*t)+.
167*cos(t)+.288*sin(t)-.183e-1*cos(1.
33*t)+.692e-1*sin(1.33*t)+.
212*cos(1.67*t)-.318e-1*sin(1.
67*t)②
f=6.90*cos(t)+3.99*sin(t)-2.
26*cos(1.73*t)+1.34*sin(1.
73*t)-.4e-1*cos(3.46*t)+1.
21*sin(3.46*t)+.339*cos(5.
19*t)+.26*sin(5.19*t)-.
174*cos(6.92*t)+.5e-1*sin(6.
92*t)-.6e-1*cos(8.65*t)+.
167*sin(8.65*t)
二:用短时傅里叶变换观察冲击信号。
程序如下:t0=0
dt=0.001;t=t1:dt:t2;
n=length(t);%求向量的长度x=zeros(1,n);
x(1,(-t0-t1)/dt+1)=1/dt;%表示在t=t+t0时刻存在冲激subplot(211)plot(t,x)
title('单位冲击信号δ(t)')subplot(212)
window=128%窗函数长度。
noverlap=120%是指nfft减去步长nfft=128%是fft的长度fs=1000%频率采样specgram(x,nfft,fs,nfft,noverlap)xlabel('时间(s)')ylabel('频率(hz)')
title('x的短时傅里叶变换')运行结果如下:
三:用小波分析带有噪声的典型信号先分解在重构过程中过滤噪声。程序如下:
产生典型的带噪声的信号t=-4*pi:0.01:4*pi;sig1=2*sin(t);
for i=1:2514 %size(t)=2154y(i)=rand(1:size(t));end
sig=sig1+y;subplot(221)
plot(t,sig1);xlabel('t');ylabel('sig1');title('某一典型信号sig1')subplot(222)
plot(t,y);xlabel('t');ylabel('sig2');title('噪声信号sig2')subplot(223)
plot(t,sig);xlabel('t');ylabel('sig');title('带有噪声的典型信号sig')%原始信号%用小波db3对s进行5层分解level=5;
c,l]=w**edec(sig,level,'db3');小波分解a5=wrcoef('a',c,l,'db3',5)%重构信号subplot(224)
plot(a5);xlabel('t');ylabel('a5');title('用小波分解后重构的信号')%重构后的信号运行结果如下:
t1=-2t2=2t0=0
dt=0.001;t=t1:dt:t2;
n=length(t);%求向量的长度x=zeros(1,n);
x(1,(-t0-t1)/dt+1)=1/dt;%表示在t=t+t0时刻存在冲激subplot(211)plot(t,x)
title('单位冲击信号δ(t)')坐标轴的刻度和外观subplot(212)
window=128%窗函数长度。
noverlap=120%是指nfft减去步长nfft=128%是fft的长度fs=1000%频率采样specgram(x,nfft,fs,nfft,noverlap)xlabel('时间(s)')ylabel('频率(hz)')
title('x的短时傅里叶变换')
信号处理作业
语音分析实验报告。姓名 母洋文。学号 10021113 一 实验目的。1.了解声音信号采集 变换 分析 处理的全过程。2.理解傅里叶变换 功率谱 对数功率谱 倒频谱的原理和在工程应用中的作用。3.学习如何使用matlab软件对采集到的离散信号进行变换并绘出图形。4.掌握分析时 频谱图的方法。二 实验...
信号处理作业
200622120137 硕603班栗娜。思考题 傅立叶变换是一种什么模型,在什么情况下傅立叶变换不适合?答 傅立叶变换将满足一定条件的某个函数表示成很多正弦函数的线性组合或者积分。傅立叶变换具有正交性 完备性等很多有点。但是,傅立叶变换有其明显的缺点,就是没有时间局部信息,信号任何时刻的微小变化就...
信号处理作业
实验一基本信号。一 实验目的 1 本节专注于用matlab产生一些基本离散时间信号的问题。主要使用matlab内部向量程序来产生信号。2 熟悉matlab环境,产生和绘出各种基本信号。2 实验内容 1 冲激信号 产生并绘出下面的序列。在每种情形下,水平n轴应该只在指定的区间上展开并应该相应标注。使用...