数字信号作业1.docx

上传人:b****5 文档编号:5327735 上传时间:2022-12-15 格式:DOCX 页数:33 大小:170.50KB
下载 相关 举报
数字信号作业1.docx_第1页
第1页 / 共33页
数字信号作业1.docx_第2页
第2页 / 共33页
数字信号作业1.docx_第3页
第3页 / 共33页
数字信号作业1.docx_第4页
第4页 / 共33页
数字信号作业1.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

数字信号作业1.docx

《数字信号作业1.docx》由会员分享,可在线阅读,更多相关《数字信号作业1.docx(33页珍藏版)》请在冰豆网上搜索。

数字信号作业1.docx

数字信号作业1

作业1:

x(t)=sin(2*pi*480*t)+2*sin(2*pi*490*t),

)若要在x(t)的频谱上分辨出这两个频率,且保证频谱不混叠,采样频率和信号时长至少要取多大?

以1KHz的采样率采128个点,做128点FFT,画出频谱图;

以1KHz的采样率采256个点,做256点FFT,画出频谱图;

以1KHz的采样率采128个点,后面添加128个0,做256点FFT,画

频谱图;

以2KHz的采样率采128个点,做128点FFT,画出频谱图;

以2KHz的采样率采256个点,做256点FFT,画出频谱图;

以2KHz的采样率采512个点,做512点FFT,画出频谱图;

要求:

频谱图横轴坐标以Hz为单位,比较这5种情况下信号的频谱有何异同,并说说你从这些现象中明白了什么道理。

(I)解:

若要在x(t)的频谱上分辨出这两个频率,且保证频谱不混叠,

采样频率fs>=980Hz;

信号时长tp>=1/F=1/10Hz=0.1s;

(II)

以1KHz的采样率采128个点,做128点FFT,画出频谱图;

用Matlab编写的程序为

clf;clear;clc;

fs=1000;%采样频率和数据点数

N=128;

n=0:

N-1;

t=n/fs;%时间序列

x=sin(2*pi*480*t)+2*sin(2*pi*490*t);%信号

y=fft(x,N);%对信号进行快速Fourier变换

mag=abs(y);%求得Fourier变换后的振幅

f=n*fs/N;%频率序列

subplot(1,1,1)

plot(f,mag);%绘出随频率变化的振幅

xlabel('频率/Hz');

ylabel('振幅');

title('N=128');

gridon;

绘出的图像如图:

以1KHz的采样率采256个点,做256点FFT,画出频谱图

用Matlab编写的程序为

clf;clear;clc;

fs=1000;%采样频率和数据点数

N=256;

n=0:

N-1;

t=n/fs;%时间序列

x=sin(2*pi*480*t)+2*sin(2*pi*490*t);%信号

y=fft(x,N);%对信号进行快速Fourier变换

mag=abs(y);%求得Fourier变换后的振幅

f=n*fs/N;%频率序列

subplot(1,1,1)

plot(f,mag);%绘出随频率变化的振幅

xlabel('频率/Hz');

ylabel('振幅');

title('N=256');

gridon;

绘出的图像如图:

以1KHz的采样率采128个点,后面添加128个0,做256点FFT,画

频谱图;

用Matlab编写的程序为

clf;clear;clc;

fs=1000;%采样频率和数据点数

N=128;

n=0:

N-1;

t=n/fs;%时间序列

x=sin(2*pi*480*t)+2*sin(2*pi*490*t);%信号

x1=zeros(1,256);

x1(1:

N)=x;

y=fft(x1,256);%对信号进行快速Fourier变换

mag=abs(y);%求得Fourier变换后的振幅

n1=0:

255;

f=n1*fs/256;%频率序列

subplot(1,1,1)

plot(f,mag);%绘出随频率变化的振幅

xlabel('频率/Hz');

ylabel('振幅');

title('N=128N1=256');

gridon;

绘出的图像为:

以2KHz的采样率采128个点,做128点FFT,画出频谱图;

用Matlab编写的程序为:

clf;clear;clc;

fs=2000;%采样频率和数据点数

N=128;

n=0:

N-1;

t=n/fs;%时间序列

x=sin(2*pi*480*t)+2*sin(2*pi*490*t);%信号

y=fft(x,N);%对信号进行快速Fourier变换

mag=abs(y);%求得Fourier变换后的振幅

f=n*fs/N;%频率序列

subplot(1,1,1)

plot(f,mag);%绘出随频率变化的振幅

xlabel('频率/Hz');

ylabel('振幅');

title('N=128');

gridon;

绘出的图像为:

以2KHz的采样率采256个点,做256点FFT,画出频谱图;

用Matlab编写的程序为:

clf;clear;clc;

fs=2000;%采样频率和数据点数

N=256;

n=0:

N-1;

t=n/fs;%时间序列

x=sin(2*pi*480*t)+2*sin(2*pi*490*t);%信号

y=fft(x,N);%对信号进行快速Fourier变换

mag=abs(y);%求得Fourier变换后的振幅

f=n*fs/N;%频率序列

subplot(1,1,1)

plot(f,mag);%绘出随频率变化的振幅

xlabel('频率/Hz');

ylabel('振幅');

title('N=256');

gridon;

绘出的图像为:

以2KHz的采样率采512个点,做512点FFT,画出频谱图;

用Matlab编写的程序为:

clf;clear;clc;

fs=2000;%采样频率和数据点数

N=512;

n=0:

N-1;

t=n/fs;%时间序列

x=sin(2*pi*480*t)+2*sin(2*pi*490*t);%信号

y=fft(x,N);%对信号进行快速Fourier变换

mag=abs(y);%求得Fourier变换后的振幅

f=n*fs/N;%频率序列

subplot(1,1,1)

plot(f,mag);%绘出随频率变化的振幅

xlabel('频率/Hz');

ylabel('振幅');

title('N=512');

gridon;

绘出的图像为:

从对这6幅图的比较中可以看出:

在采样频率fs一定的情况下,采样有效点数N越大,信号在频域上所占的脉宽越窄,频率混叠程度越小,频谱分辨率越大。

若对采样点后面补零,可以使采样间隔更小,频谱形状更平滑,但不能提高分辨率。

 

作业2:

x(t)=sin(2*pi*100*t)+0.5*cos(2*pi*1500*t)+0.5*sin(2*pi*2900*t),

)分别设计巴特沃思模拟低通、带通、高通滤波器,将信号中的三个分量分离出来;

)分别设计切比雪夫I、II型模拟低通、带通、高通滤波器,将信号中的三个分量分离出来;

画出信号分离前后的时域波形图和频谱图,画出滤波器的幅频、相频特性曲线(幅频曲线横轴用普通坐标,纵轴用对数坐标);[自行确定滤波器的带宽和波纹,不允许用直接设计的方法,用低通滤波器转换函数]

一,巴特沃兹模拟低通滤波器

clc;clear;clf;

Wp=800*2*pi;Ws=1200*2*pi;%通带阻带截止频率

Rp=3;Rs=20;%通带波纹和阻带衰减

[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s');%求得滤波器的最小阶数和截止频率

[z,p,k]=buttap(N);%设计Butterworth滤波器

[b,a]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式

[bt,at]=lp2lp(b,a,Wc);

w=linspace(1,5000,1000)*2*pi;%设置绘制频率响应的频率点

H=freqs(bt,at,w);%计算给定频率点的复数频率响应

magH=abs(H);

%--------------------------------------------------------------------------

figure

(1)

subplot(2,1,1),plot(w/2/pi,20*log10(magH));%绘制幅频响应

xlabel('频率/Hz');ylabel('振幅/dB');gridon;title('幅频图');

subplot(2,1,2),plot(w/2/pi,unwrap(angle(H)));%绘制相频响应

xlabel('频率/Hz');

ylabel('相位/^o');gridon;title('相频图')

%--------------------------------------------------------------------------

figure

(2)

dt=1/10000;%模拟信号采样间隔

f1=100;f2=1500;f3=2900;%输入信号的三个频率成分

t=0:

dt:

0.04;%给定模拟时间段

x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%输入信号

h=[tf(bt,at)];%滤波器在MATLAB系统中的表示

[y,t1]=lsim(h,x,t);%模拟输出

subplot(2,1,1),plot(t,x),title('输入信号')%绘出输入信号

subplot(2,1,2),plot(t1,y)%绘制输出信号

title('输出信号'),xlabel('时间/s')

%--------------------------------------------------------------------------

figure(3)

Fy=abs(fft(y));

w=(-(length(Fy)-1)/2:

(length(Fy)-1)/2)/(length(Fy)*dt);

plot(w((length(Fy)-1)/2+1:

(length(Fy)-1)),Fy(1:

(length(Fy)-1)/2)*2/length(Fy))

title('输出信号频谱')

xlabel('频率/Hz')

二、巴特沃兹模拟带通滤波器

clc;clear;clf;

Wp=[1200,1800]*2*pi;Ws=[1000,2000]*2*pi;%通带阻带截止频率

Rp=3;Rs=20;%通带波纹和阻带衰减

[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s');%求得滤波器的最小阶数和截止频率

[z,p,k]=buttap(N);%设计Butterworth滤波器

[b,a]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式

Wo=1500*2*pi;%中心频率

Bw=600*2*pi;%频带宽度

[bt,at]=lp2bp(b,a,Wo,Bw);%频率转换

w=linspace(1,5000,1000)*2*pi;%设置绘制频率响应的频率点

H=freqs(bt,at,w);%计算给定频率点的复数频率响应

magH=abs(H);

%--------------------------------------------------------------------------

figure

(1)

subplot(2,1,1),plot(w/2/pi,20*log10(magH));%绘制幅频响应

xlabel('频率/Hz');ylabel('振幅/dB');gridon;title('幅频图');

subplot(2,1,2),plot(w/2/pi,unwrap(angle(H)));%绘制相频响应

xlabel('频率/Hz');

ylabel('相位/^o');gridon;title('相频图')

%--------------------------------------------------------------------------

figure

(2)

dt=1/10000;%模拟信号采样间隔

f1=100;f2=1500;f3=2900;%输入信号的三个频率成分

t=0:

dt:

0.04;%给定模拟时间段

x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%输入信号

h=[tf(bt,at)];%滤波器在MATLAB系统中的表示

[y,t1]=lsim(h,x,t);%模拟输出

subplot(2,1,1),plot(t,x),title('输入信号')%绘出输入信号

subplot(2,1,2),plot(t1,y)%绘制输出信号

title('输出信号'),xlabel('时间/s')

%--------------------------------------------------------------------------

figure(3)

Fy=abs(fft(y));

w=(-(length(Fy)-1)/2:

(length(Fy)-1)/2)/(length(Fy)*dt);

plot(w((length(Fy)-1)/2+1:

(length(Fy)-1)),Fy(1:

(length(Fy)-1)/2)*2/length(Fy))

title('输出信号频谱')

xlabel('频率/Hz')

三、巴特沃兹模拟高通滤波器

clc;clear;clf;

Wp=2600*2*pi;Ws=2000*2*pi;%通带阻带截止频率

Rp=3;Rs=25;%通带波纹和阻带衰减

[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s');%求得滤波器的最小阶数和截止频率

[z,p,k]=buttap(N);%设计Butterworth滤波器

[b,a]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式

Wo=sqrt(Wp*Ws);%中心频率

[bt,at]=lp2hp(b,a,Wo);%频率转换

w=linspace(1,5000,1000)*2*pi;%设置绘制频率响应的频率点

H=freqs(bt,at,w);%计算给定频率点的复数频率响应

magH=abs(H);

%--------------------------------------------------------------------------

figure

(1)

subplot(2,1,1),plot(w/2/pi,20*log10(magH));%绘制幅频响应

xlabel('频率/Hz');ylabel('振幅/dB');gridon;title('幅频图');

subplot(2,1,2),plot(w/2/pi,unwrap(angle(H)));%绘制相频响应

xlabel('频率/Hz');

ylabel('相位/^o');gridon;title('相频图')

%--------------------------------------------------------------------------

figure

(2)

dt=1/10000;%模拟信号采样间隔

f1=100;f2=1500;f3=2900;%输入信号的三个频率成分

t=0:

dt:

0.04;%给定模拟时间段

x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%输入信号

h=[tf(bt,at)];%滤波器在MATLAB系统中的表示

[y,t1]=lsim(h,x,t);%模拟输出

subplot(2,1,1),plot(t,x),title('输入信号')%绘出输入信号

subplot(2,1,2),plot(t1,y)%绘制输出信号

title('输出信号'),xlabel('时间/s')

%--------------------------------------------------------------------------

figure(3)

Fy=abs(fft(y));

w=(-(length(Fy)-1)/2:

(length(Fy)-1)/2)/(length(Fy)*dt);

plot(w((length(Fy)-1)/2+1:

(length(Fy)-1)),Fy(1:

(length(Fy)-1)/2)*2/length(Fy))

title('输出信号频谱')

xlabel('频率/Hz')

四、切比雪夫I型模拟低通滤波器

clc;clear;clf;

Wp=800*2*pi;Ws=1200*2*pi;%通带阻带截止频率

Rp=3;Rs=20;%通带波纹和阻带衰减

[N,Wc]=cheb1ord(Wp,Ws,Rp,Rs,'s')%计算ChebyshevI滤波器的最小阶数和截止频率

[z,p,k]=cheb1ap(N,Rp);%设计ChebyshevI型滤波器

[b,a]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式

[bt,at]=lp2lp(b,a,Wc);

w=linspace(1,5000,1000)*2*pi;%设置绘制频率响应的频率点

H=freqs(bt,at,w);%计算给定频率点的复数频率响应

magH=abs(H);

%--------------------------------------------------------------------------

figure

(1)

subplot(2,1,1),plot(w/2/pi,20*log10(magH));%绘制幅频响应

xlabel('频率/Hz');ylabel('振幅/dB');gridon;title('幅频图');

subplot(2,1,2),plot(w/2/pi,unwrap(angle(H)));%绘制相频响应

xlabel('频率/Hz');

ylabel('相位/^o');gridon;title('相频图')

%--------------------------------------------------------------------------

figure

(2)

dt=1/10000;%模拟信号采样间隔

f1=100;f2=1500;f3=2900;%输入信号的三个频率成分

t=0:

dt:

0.04;%给定模拟时间段

x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%输入信号

h=[tf(bt,at)];%滤波器在MATLAB系统中的表示

[y,t1]=lsim(h,x,t);%模拟输出

subplot(2,1,1),plot(t,x),title('输入信号')%绘出输入信号

subplot(2,1,2),plot(t1,y)%绘制输出信号

title('输出信号'),xlabel('时间/s')

%--------------------------------------------------------------------------

figure(3)

Fy=abs(fft(y));

w=(-(length(Fy)-1)/2:

(length(Fy)-1)/2)/(length(Fy)*dt);

plot(w((length(Fy)-1)/2+1:

(length(Fy)-1)),Fy(1:

(length(Fy)-1)/2)*2/length(Fy))

title('输出信号频谱')

xlabel('频率/Hz')

五、切比雪夫I型模拟带通滤波器

clc;clear;clf;

Wp=[1200,1800]*2*pi;Ws=[1000,2000]*2*pi;%通带阻带截止频率

Rp=3;Rs=20;%通带波纹和阻带衰减

[N,Wc]=cheb1ord(Wp,Ws,Rp,Rs,'s')%计算ChebyshevI滤波器的最小阶数和截止频率

[z,p,k]=cheb1ap(N,Rp);%设计ChebyshevI型滤波器

[b,a]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式

Wo=1500*2*pi;%中心频率

Bw=600*2*pi;%频带宽度

[bt,at]=lp2bp(b,a,Wo,Bw);%频率转换

w=linspace(1,5000,1000)*2*pi;%设置绘制频率响应的频率点

H=freqs(bt,at,w);%计算给定频率点的复数频率响应

magH=abs(H);

%--------------------------------------------------------------------------

figure

(1)

subplot(2,1,1),plot(w/2/pi,20*log10(magH));%绘制幅频响应

xlabel('频率/Hz');ylabel('振幅/dB');gridon;title('幅频图');

subplot(2,1,2),plot(w/2/pi,unwrap(angle(H)));%绘制相频响应

xlabel('频率/Hz');

ylabel('相位/^o');gridon;title('相频图')

%--------------------------------------------------------------------------

figure

(2)

dt=1/10000;%模拟信号采样间隔

f1=100;f2=1500;f3=2900;%输入信号的三个频率成分

t=0:

dt:

0.04;%给定模拟时间段

x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%输入信号

h=[tf(bt,at)];%滤波器在MATLAB系统中的表示

[y,t1]=lsim(h,x,t);%模拟输出

subplot(2,1,1),plot(t,x),title('输入信号')%绘出输入信号

subplot(2,1,2),plot(t1,y)%绘制输出信号

title('输出信号'),xlabel('时间/s')

%--------------------------------------------------------------------------

figure(3)

Fy=abs(fft(y));

w=(-(length(Fy)-1)/2:

(length(Fy)-1)/2)/(length(Fy)*dt);

plot(w((length(Fy)-1)/2+1:

(length(Fy)-1)),Fy(1:

(length(Fy)-1)/2)*2/length(Fy))

title('输出信号频谱')

xlabel('频率/Hz')

六、切比雪夫I型模拟高通滤波器

clc;clear;clf;

Wp=2600

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1