【数字信号处理】期末综合实验,离散时间信号与系统的时域分析,离散信号 Z 变换,IIR 滤波器的设计与信号滤波,用窗函数法设计 FIR 数字滤波器


关注作者了解更多

我的其他CSDN专栏

过程控制系统

工程测试技术

虚拟仪器技术

可编程控制器

工业现场总线

数字图像处理

智能控制

传感器技术

嵌入式系统

复变函数与积分变换

单片机原理

线性代数

大学物理

热工与工程流体力学

数字信号处理

光电融合集成电路技术

电路原理

模拟电子技术

高等数学

概率论与数理统计

数据结构

C语言

模式识别原理

自动控制原理

数字电子技术

关注作者了解更多

资料来源于网络,如有侵权请联系编者

目录

实验一 离散时间信号与系统的时域分析

一、实验目的

二、实验原理

三、实验过程记录

四、结果分析

 实验二  离散信号 Z 变换

一、实验目的

二、实验原理

三、离散系统的频率特性

实验三 IIR 滤波器的设计与信号滤波

1、实验目的

2.实验原理

3、实验步骤及内容

实验代码

6实验报告要求

实验四 用窗函数法设计 FIR 数字滤波器

1、实验目的

2、实验原理

3、实验步骤及内容

6实验要求

实验五 用 FFT 作谱分析

1实验目的

2、实验原理

3、实验步骤及内容

实验数据记录

6实验报告要求

实验 6 综合实验

1实验目的

2、实验内容 (三选一)

3实验报告要求


实验一 离散时间信号与系统的时域分析 1

实验二 离散信号 Z 变换 7

实验三 双线性变换法设计 IIR 数字滤波器 19

实验四 用窗函数法设计 FIR 数字滤波器 19

实验五 用 FFT 作谱分析 19

实验六 综合实验 25

实验一 离散时间信号与系统的时域分析

  • 一、实验目的

  • 1.掌握离散时间信号与系统的时域分析方法。

     2.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系 统响应进行频域分析。

    3.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。

    二、实验原理

      实现2.离散时间系统的单位脉冲响应3连续时间信号的采样,绘制单位脉冲序列,绘制单位阶跃序列,绘制理想采样序列,绘制正弦序列,分析特性

  • 三、实验过程记录

  • 1单位脉冲序列
  • clear all;
    clc;
    n1=-5;n2=5;n0=0;
    n=n1:n2;%自变量
    x=[n==n0];%因变量,利用大括号判断里面的表达式是否成立,如果成立则函数有效,有数值
    %否侧函数无效,没有数值
    stem(n,x,'filled');%利用filled绘制实心火柴梗
    axis([n1,n2,0,1.1*max(x)]);%绘制坐标系
    xlabel('(n)');ylabel('幅度x(n)');
    title('单位脉冲序列');

2单位冲激序列

 clear all
n = 40;
x = ones(1,n);
xn = 0:n-1;
subplot(211);
stem(xn,x);
grid on
axis([-1 51 0 1.1]);
title('单位阶跃序列u(n)')
ylabel('u(n)');
xlabel('n');
x = [zeros(1,10),1,ones(1,29)];
subplot(212);
stem(xn,x);
grid on
axis([-1 51 0 1.1]);
title('单位跃迁序列u(n-10)')
ylabel('u(n-10)');
xlabel('n');

3正弦序列

clear all
n = 0:59;
x = sin(pi/7*n);
stem(n,x);
ylabel('x(n)');
xlabel('n');
title('正弦序列')
axis([0 40 -1.5 1.5]);
grid on;

4理想采样序列

%绘制理想采样信号序列
%给定信号参数
A = 200;
alpha = 50*pi;
T = 1/10000;
Omega = 260*pi;
n = 0:1:100;
%计算信号在不同时刻的值
x = A.*exp(-alpha.*n.*T).*cos(Omega.*T.*n);
figure %绘制理想采样信号序列
stem(x,'g') %绘制单位抽样序列
%修改时间坐标值,保证信号0时刻的值为1,添加图的坐标含义标题等信息
set(gca, 'XTick', 1:101);
set(gca,'XTickLabel',0:100);
title('(d) Desired sampled signal')
grid on
xlabel('Time index n')
ylabel('Amplitude')
axis([1 101 -200 200]) %规范坐标轴范围
hold on
%给定信号参数
A = 100;
alpha = 0.4;
T = 1/1000;
Omega = 700*pi;
n = 0:100;
%计算信号在不同时刻的值
xx = A.*exp(-alpha.*n.*T).*cos(Omega.*T.*n);
%绘制修改参数后的理想采样信号序列
stem(xx,'b') %绘制单位抽样序列

改变参数A=1,a =0.4, W =700p ,产生理想采样信号序列 x n( ) 。

代码:

%给定信号参数
A = 1;
alpha = 0.4;
T = 1/10000;
Omega = 700*pi;
n = 0:1:100;
%计算信号在不同时刻的值
x = A.*exp(-alpha.*n.*T).*cos(Omega.*T.*n);
figure %绘制理想采样信号序列
stem(x,'g') %绘制单位抽样序列
%修改时间坐标值,保证信号0时刻的值为1,添加图的坐标含义标题等信息
set(gca, 'XTick', 1:101);
set(gca,'XTickLabel',0:100);
title('(d) Desired sampled signal')
grid on
xlabel('Time index n')
ylabel('Amplitude')
axis([1 101 -200 200]) %规范坐标轴范围
hold on
%给定信号参数
A = 100;
alpha = 0.4;
T = 1/1000;
Omega = 700*pi;
n = 0:100;
%计算信号在不同时刻的值
xx = A.*exp(-alpha.*n.*T).*cos(Omega.*T.*n);
%绘制修改参数后的理想采样信号序列
stem(xx,'b') %绘制单位抽样序列
>>结果截图

  5.实指数序列

 

clear all
n = 0:20;
x1 = 1.3.^n;
x2 = (-1.3).^n;
x3 = 0.8.^n;
x4 = (-0.8).^n;
subplot(221)
stem(n,x1,'fill')
grid on;
ylabel('x1(n)');
xlabel('n');
title('x1 = 1.6^n')
subplot(222)
stem(n,x2,'fill')
grid on;
ylabel('x2(n)');
xlabel('n');
title('x2 = (-1.6)^n')
subplot(223)
stem(n,x3,'fill')
grid on;
ylabel('x3(n)');
xlabel('n');
title('x1 = 0.8^n')
subplot(224)
stem(n,x4,'fill')
grid on;
ylabel('x4(n)');
xlabel('n');
title('x1 = 1(-0.8)^n')

 

 

四、结果分析

分别绘制了单位脉冲序列,单位阶跃序列,正弦序列,理想采样的指数正弦序列,改变参数后的理想采样正弦序列,实指数序列等图像

 

 实验二  离散信号 Z 变换

  • 一、实验目的

1、熟悉离散信号 Z 变换的原理及性质 

2、熟悉常见信号的 Z 变换

 3、了解正/反 Z 变换的 MATLAB 实现方法 

4、了解离散信号的 Z 变换与其对应的理想抽样信号的傅氏变换和拉氏变换之间的关系 

5、了解利用 MATLAB 实现离散系统的频率特性分析的方法

二、实验原理

 

实验过程记录

一、正/ Z 变换

 

   代码:

 

clc;
clear;
close all;
%%
% Example 1 for the Z transform
syms n % Define the temporal independent variable represented by the mathmatical symbols.
f = 0.5^n; % Define the sequence in the time domain.
Fz = ztrans(f); % Perform z transform based on the function ztrans.
disp(Fz); % Print the output.
%%
% Example 2 for the Z transform
syms z % Define the independent variable in the complex frequency domain.
Fz = 2*z/(2*z - 1); % Define the z transform in the complex frequency domain.
f = iztrans(Fz); % Perform inverse z transform based on the function iztrans.
disp(f); % Print the output
%%
% Example 3 for the Z transform
syms n % Define the independent variable
hn = kroneckerDelta(n, 1) + kroneckerDelta(n, 2) + kroneckerDelta(n,3); %Define the sequence in the time domain
disp(hn)
Hz = ztrans(hn); % Perform the z transform
disp(Hz)
Hz = simplify(Hz); % Simplify the expression of the H(z)
disp(Hz)

 运行结果:

 

z/(z - 1/2)

 (1/2)^n

 kroneckerDelta(n - 1, 0) + kroneckerDelta(n - 2, 0) + kroneckerDelta(n - 3, 0)

 1/z + 1/z^2 + 1/z^3

 (z^2 + z + 1)/z^3

 

  • 三、离散系统的频率特性

  • 代码:

 

%Example 4
a = [1,0]; % Define the coefficients of the denominator polynomial
b = [1,-0.5]; % Define the coefficients of the numerator polynomial
[H,omega] = freqz(b,a,10); % Compute the frequency response of the transfer function
disp(H)
disp(omega)
%%
%Example 5
a = [1,0]; % Define the coefficients of the denominator polynomial
b = [1,-0.5]; % Define the coefficients of the numerator polynomial
[H,omega] = freqz(b,a,200,'whole'); % Compute the frequency response of the transfer function
disp(H)
disp(omega)
Ha = abs(H); % Amplitude
Ph = angle(H); % Phase

运行结果:

求点代码如上

绘图代码

figure
subplot(2,1,1)
plot(omega,Ha)
hold on
set(gca, 'XTick', 0:pi/10:2*pi);
set(gca,'XTickLabel',0:pi/10:2*pi);
title('(a) Amplitude-frequency response')
grid on
xlabel('omega')
ylabel('Amplitude')
axis([0 2*pi 0.5 1.5])
grid on
subplot(2,1,2)
plot(omega,Ph)
set(gca, 'XTick', 0:pi/10:2*pi);
set(gca,'XTickLabel',0:pi/10:2*pi);
title('(a) Phase-frequency response')
grid on
xlabel('omega')
ylabel('Phase')
axis([0 2*pi -0.6 0.6])
grid on

运行结果

三、实验内容

代码:

syms z; % Define the independent variable
F1z = (z^2+z+1)/(z^2+z-2);
f1 = iztrans(F1z); % Perform the inverse z transform
disp(f1)

运行结果:

(-2)^n/2 - kroneckerDelta(n, 0)/2 + 1

题目二

代码:

syms z;Flz=(z^4+z^3+z^2+z+1)/(z^4);fl=iztrans(Flz);disp(fl)

结果:

kroneckerDelta(n - 1, 0) + kroneckerDelta(n - 2, 0) + kroneckerDelta(n - 3, 0) + kroneckerDelta(n - 4, 0) + kroneckerDelta(n, 0)

题目三;

代码

syms z;Flz=(2*z^2+6*z+12)/(z^4);fl=iztrans(Flz);disp(fl)

结果:

2*kroneckerDelta(n - 2, 0) + 6*kroneckerDelta(n - 3, 0) + 12*kroneckerDelta(n - 4, 0)

5.实验要求

六.实验感想

通过Z变换和Z反变换,熟悉了MATLAB的使用

实验三 IIR 滤波器的设计与信号滤波

1、实验目的

(1)熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识

2.实验原理

3、实验步骤及内容

实验代码

用双线性变换法设计Butterworth低通数字滤波器,要求通带频率为 ,通带波纹小于1dB,阻带频率为 ,幅度衰减大于15dB,采样频率为Fs=100Hz。

clc;
%写出已知条件,设置采样点数
wp=0.25*pi;ws=0.4*pi;
rp=1;as=15;
fs=2000;Nn=128;
%由数字指标映射到模拟滤波器指标
WP=wp*fs;WS=ws*fs;
%利用巴特沃斯滤波器的设计方法,设计一个模拟滤波器
[N,Wn]=buttord(WP,WS,rp,as,'s');
[z,p,k]=buttap(N);
[B,A]=zp2tf(z,p,k);
%转换到数字滤波器
[b,a]=lp2lp(B,A,Wn);%从一个低通原型变换为具有不同截止频率的低通滤波器
[bz,az]=impinvar(b,a,fs);%根据冲激响应不变法得到数字滤波器
freqz(bz,az,Nn,fs);
WS=2*fs*tan(ws/2);
WP=2*fs*tan(wp/2);
[bz,az]=bilinear(b,a,fs);
freqz(bz,az,Nn,fs);[H,w]=freqz(bz,az);
figure;
subplot(211);
plot(w/pi,abs(H));
subplot(212);
plot(w/pi,angle(H));

运行结果

6实验报告要求

7实验感想

  通过IIR滤波器的设计,熟悉了MATLAB的使用

实验四 用窗函数法设计 FIR 数字滤波器

1、实验目的

(1)掌握用窗函数法设计 FIR 数字滤波器的原理和方法。

(2)熟悉线性相位 FIR 数字滤波器特性。

(3)了解各种窗函数对滤波特性的影响

2、实验原理

3、实验步骤及内容

实验代码:

1设计滤波器,采用汉明窗,长度41(阶数40),采样频率2000hz:

clear all; close all; clc;
% 滤波器长度
N=41;
%采样频率
fs=2000;%各种滤波器的特征频率
fc_lpf=200;
fc_hpf=200;
fp_bandpass=[200 400];
fc_stop=[200 400];%以采样频率的一般,对频率归一化
wn_lpf=fc_lpf*2/fs;
wn_hpf=fc_hpf*2/fs;
wn_bandpass=fp_bandpass*2/fs;
wn_stop=fc_stop*2/fs;%采用fir1函数设计FIR滤波器
b_lpf=fir1(N-1,wn_lpf);
b_hpf=fir1(N-1,wn_hpf,'high');
b_bandpass=fir1(N-1,wn_bandpass,'bandpass');
b_stop=fir1(N-1,wn_stop,'stop');%求幅频响应
m_lpf=20*log(abs(fft(b_lpf)))/log(10);
m_hpf=20*log(abs(fft(b_hpf)))/log(10);
m_bandpass=20*log(abs(fft(b_bandpass)))/log(10);
m_stop=20*log(abs(fft(b_stop)))/log(10);% 设置频率响应的横坐标单位为hz
x_f=0:(fs/length(m_lpf)):fs/2;% 单位脉冲响应
subplot(4,2,1);stem(b_lpf);xlabel('n');ylabel('h(n)');legend('lpf');
subplot(4,2,3);stem(b_hpf);xlabel('n');ylabel('h(n)');legend('hpf');
subplot(4,2,5);stem(b_bandpass);xlabel('n');ylabel('h(n)');legend('bandpass');
subplot(4,2,7);stem(b_stop);xlabel('n');ylabel('h(n)');legend('stop');% 幅频响应
subplot(4,2,2);plot(x_f,m_lpf(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('lpf')
subplot(4,2,4);plot(x_f,m_hpf(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('hpf')
subplot(4,2,6);plot(x_f,m_bandpass(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('bandpass')
subplot(4,2,8);plot(x_f,m_stop(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('stop');

仿真脉冲响应和幅频响应图

6实验要求

7.实验感想

通过FIR滤波器设计,熟悉了MATLAB的使用

实验五 用 FFT 作谱分析

1实验目的

  

(1)进一步加深 DFT 算法原理和基本性质的理解(因为 FFT 只是 DFT 的一种快速算法,所 以 FFT 的运算结果必然满足 DFT 的性质)

(2)熟悉 FFT 算法原理及子程序的应用。

(3)掌握用 FFT 对连续信号和时域离散信号进行频谱分析的基本方法。了解可能出现的分 析误差和原因,以便在实际中正确应用 FFT。

2、实验原理

3、实验步骤及内容

实验数据记录

%《数字信号处理(第4版)》第10章实验2程序exp2a.m
% 西安电子科技大学出版社出版  高西全  丁玉美 合著 2016年
% 时域采样理论验证
Tp=64/1000;
%产生M长采样序列x(n)
% Fs=1000;T=1/Fs;
Fs=1000;T=1/Fs;
M=Tp*Fs;n=0:M-1;
A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5;
xnt=A*exp(-alph*n*T).*sin(omega*n*T);
Xk=T*fft(xnt,M);  %M点FFT[xnt)]
yn='xa(nT)';
subplot(3,2,1);tstem(xnt,yn);box on;title('(a) Fs=1000Hz');
k=0:M-1;fk=k/Tp;
subplot(3,2,2);plot(fk,abs(Xk));title('(a) 	T*FT[xa(nT)],Fs=1000Hz');
xlabel('f(Hz)');
ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])
% Fs=300;T=1/Fs;
Fs=300;T=1/Fs;
M=ceil(Tp*Fs);n=0:M-1;
xnt=A*exp(-alph*n*T).*sin(omega*n*T);
Xk=T*fft(xnt,M);  %M点FFT[xnt)]
yn='xa(nT)';
subplot(3,2,3);tstem(xnt,yn);box on;title('(b) Fs=300Hz');
k=0:M-1;fk=k/Tp;
subplot(3,2,4);plot(fk,abs(Xk));title('(b) 	T*FT[xa(nT),Fs=300Hz');
xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])
% Fs=200;T=1/Fs;
Fs=200;T=1/Fs;
M=ceil(Tp*Fs);n=0:M-1;
xnt=A*exp(-alph*n*T).*sin(omega*n*T);
Xk=T*fft(xnt,M);  %M点FFT[xnt)]
yn='xa(nT)';subplot(3,2,5);tstem(xnt,yn);box on;title('(c) 	Fs=200Hz');
k=0:M-1;fk=k/Tp;
subplot(3,2,6);plot(fk,abs(Xk));title('(c) 	T*FT[xa(nT),Fs=200Hz');
xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])

先对下列序列进行谱分析,

选择FFT的变换区间N为8和16两种情况进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。

对于第一个序列

对于第2个序列

对于第3个序列

对下列周期序列进行频谱分析:

选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。

对于第4个序列

对于第5个序列

对模拟周期信号进行频谱分析:

选择采样率Fs=64Hz,对变换区间N=16,32,64三种情况进行谱分析。分别打印其幅频特性,并进行分析和讨论。

对于第6个序列

6实验报告要求

内容总结

图1a和1b说明x1(n)=R4(n)的8点DFT和16点DFT分别是x1(n)的频谱函数的8点采样和16点采样,图2a和图3a表明x3(n)=x2(n+3)8R8(n)的8点DFT的模相等,但是当N=16时,x3(n)与x2(n)不满足位移关系,所以导致2b和3b的模不相同。

        x4(n)的周期为8,所以N=8和N=16是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25Π处有1跟单一谱线,如图4a和4b所示。

        X5(n)的周期为16,所以N=8时,得到的频谱不正确,如5a所示。当N=16时,为其周期的整数倍,故能得到正确的频谱,在0.25Π和0.125Π处有两根单一谱线,如图5b所示。

        x6(n)有三个频率成分,f1=4hz,f2=8hz,f3=10hz。所以x6(n)的周期为0.5,采样频率Fs=64Hz = 16f1 = 8f2 = 6.4f3。变换区间N=16时,观察时间Tp = 16T = 0.25s,不是x6(t)的整数倍周期,所以所得频谱不正确,如图6a所示。变换区间N=32,64时,观察时间Tp=0.5s,1s,是x6(t)的整数周期,所以所得频谱正确,如图6b和6c所示。图中3根谱线正好位于4Hz,8Hz,10Hz处。变换区间N=64时频谱幅度是变换区间N=32时2倍.

        通过以上实验进一步论证了当周期信号的频谱是离散谱,只有用整数倍周期的长度做FFT,得到的离散谱才能代表周期信号的频谱。

实验 6 综合实验

1实验目的

(1)了解语音信号的获取及基本处理

(2)给定设计指标,能选用多种方法设计出符合指标要求的滤波器。

(3)掌握各种设计方法的原理,步骤以及特点。

(4)培养学生实际应用及综合设计的能力。

2、实验内容 (三选一)

二.设计一个数字带通滤波器

采用FIR函数设计滤波器

clear all; close all; clc;
% 滤波器长度
N=41;
%采样频率
fs=2000;%各种滤波器的特征频率
fc_lpf=200;
fc_hpf=200;
fp_bandpass=[200 400];
fc_stop=[200 400];%以采样频率的一般,对频率归一化
wn_lpf=fc_lpf*2/fs;
wn_hpf=fc_hpf*2/fs;
wn_bandpass=fp_bandpass*2/fs;
wn_stop=fc_stop*2/fs;%采用fir1函数设计FIR滤波器
b_lpf=fir1(N-1,wn_lpf);
b_hpf=fir1(N-1,wn_hpf,'high');
b_bandpass=fir1(N-1,wn_bandpass,'bandpass');
b_stop=fir1(N-1,wn_stop,'stop');%求幅频响应
m_lpf=20*log(abs(fft(b_lpf)))/log(10);
m_hpf=20*log(abs(fft(b_hpf)))/log(10);
m_bandpass=20*log(abs(fft(b_bandpass)))/log(10);
m_stop=20*log(abs(fft(b_stop)))/log(10);% 设置频率响应的横坐标单位为hz
x_f=0:(fs/length(m_lpf)):fs/2;% 单位脉冲响应
subplot(4,2,1);stem(b_lpf);xlabel('n');ylabel('h(n)');legend('lpf');
subplot(4,2,3);stem(b_hpf);xlabel('n');ylabel('h(n)');legend('hpf');
subplot(4,2,5);stem(b_bandpass);xlabel('n');ylabel('h(n)');legend('bandpass');
subplot(4,2,7);stem(b_stop);xlabel('n');ylabel('h(n)');legend('stop');% 幅频响应
subplot(4,2,2);plot(x_f,m_lpf(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('lpf')
subplot(4,2,4);plot(x_f,m_hpf(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('hpf')
subplot(4,2,6);plot(x_f,m_bandpass(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('bandpass')
subplot(4,2,8);plot(x_f,m_stop(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('stop');

脉冲仿真响应和幅频响应图

设计带通滤波器

% 定义截止频率和阻尼比
omega_0 = 10;
xi = 0.707;% 创建二阶低通滤波器传递函数模型
H_second_order_lowpass = tf(omega_0^2, [1, 2*xi*omega_0, omega_0^2]);% 创建二阶高通滤波器传递函数模型
H_second_order_highpass = tf([1, 0, 0], [1, 2*xi*omega_0, omega_0^2]);% 创建二阶带通滤波器传递函数模型
H_second_order_bandpass = tf([2*xi*omega_0, 0], [1, 2*xi*omega_0, omega_0^2]);% 创建二阶带阻滤波器传递函数模型
H_second_order_bandstop = tf([1, 0, omega_0^2], [1, 2*xi*omega_0, omega_0^2]);% 创建第一个图:对比二阶低通和高通滤波器的频率响应曲线
figure;
subplot(1,2,1);
bode(H_second_order_lowpass, 'b', H_second_order_highpass, 'r');
grid on;
legend('Lowpass', 'Highpass');
title('二阶滤波器:低通、高通');% 创建第二个图:对比二阶带通和带阻滤波器的频率响应曲线
subplot(1,2,2);
bode(H_second_order_bandpass, 'g', H_second_order_bandstop, 'm');
grid on;
legend('Bandpass', 'Bandstop');
title('二阶滤波器:带通、带阻');

仿真曲线:

3实验报告要求

(1)简述实验目的。

(2)编程实现各实验内容,列出实验清单及说明。

(3)总结实验结论并写出实验收获或感想

4.实验感想

掌握了低通,高通,带通滤波器的基本设计思想,熟悉了MATLAB的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/488280.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能导论学习笔记

目录 一、概要 二、人工智能基础知识 智能 人工智能 人工智能三要素 人工智能发展历程 人工智能的三次浪潮 人工智能行业发展现状 人工智能技术水平现状 人工智能技术层级 人工智能应用开发周期 机器学习的流程 一、概要 《人工智能导论(通识版)》张大斌 田恒义 许…

ZUC256 Go Go Go!!!

文章目录 背景运行效果代码 背景 因业务需要使用ZUC算法,GitHub上又没有对ZUC256相对应的Go语言的实现。 吃水不忘挖井人,在这里感谢GmSSL及BouncyCastle两个强大的密码学库! 本ZUC256的编写,参考了这两个库及中科院软件院发布的…

JAVA |日常开发中连接Sqlite数据库详解

JAVA |日常开发中连接Sqlite数据库详解 前言一、SQLite 数据库概述1.1 定义与特点1.2 适用场景 二、Java 连接 SQLite 数据库的准备工作2.1 添加 SQLite JDBC 驱动依赖2.2 了解 JDBC 基础概念 三、建立数据库连接3.1 代码示例3.2 步骤解析 四、执行 SQL 语句4.1 创建…

Spring Cloud Alibaba:一站式微服务解决方案

一、简介 Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。它集成了阿里巴巴开源的各种分布式服务技术,提供了一系列…

融云分享基于 Rust 的鸿蒙 SDK 开发实践

12 月 5 日,以“同心聚力,共建共享鸿蒙新生态”为主题的“鸿蒙生态伙伴 SDK 开发者论坛”在京举行。 融云凭借对鸿蒙生态的率先适配和创新贡献,荣获华为鸿蒙生态“HarmonyOS NEXT SDK 星河奖”。 本次论坛邀请了多位行业领导者参与&#xff…

C语言 位运算符 + 应用

常用的位运算符 按位与 快速判断整数的奇偶性 奇数的二进制表示的最低位为1,偶数的二进制表示的最低位为0。 int num 9; if (num & 1) {// num 是奇数 } else {// num 是偶数 }按位异或 交换两个变量的值 int a 5; int b 7; a a ^ b; b a ^ b; a a ^ …

JavaWeb学习(4)(四大域、HttpSession原理(面试)、SessionAPI、Session实现验证码功能)

目录 一、web四大域。 (1)基本介绍。 (2)RequestScope。(请求域) (3)SessionScope。(会话域) (4)ApplicationScope。(应用域) (5)PageScope。(页面域) 二、Ht…

C++ 菱形继承 +虚继承

菱形继承 两个派生类继承同一个基类而又有某个类同时继承者两个派生类,这种继承被称为菱形继承,或者钻石型继承。 菱形继承存在的问题 1)羊继承了动物的数据和函数,鸵同样继承了动物的数据和函数,当草泥马调用函数或者…

LCR 103. 零钱兑换 (从dfs->记忆化搜索->动态规划)

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins [1, 2, 5], amount …

密码学——密码学基础、散列函数与数字签名

1.密码学概述 是信息安全的基础和核心,是防范各种安全威胁的重要手段,信息安全的许多相关知识都与密码学相关。 密码学发展 密码学是一门古老而又年轻的学科 ,几千年以前就存在,至今仍在发展演进。地位非常重要甚至起决定性作用…

JS API日期对象

目标:掌握日期对象,可以让网页显示日期 日期对象:用来表示时间的对象 作用:可以得到当前系统时间 实例化 目标:能够实现实例化日期对象 在代码中发现了new关键字时,一般将这个操作称为实例化 创建一个时…

CTFshow-命令执行(Web29-40)

CTFshow-命令执行(Web29-40) CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce(远程代码执行各种sao姿势)绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码,我们发现,cat指令把flag.php的内容导出后依…

Qt Pro 常用配置

Part1: Summary Qt 开发中 Pro 文件的内容很多,需要不断的去学习和使用,现系统性的整理一下。以备录; 1.创建pro文件 1.1 步骤: Qt Creator--->New Project--->应用程序--->Qt Widgets Application--->名称为&…

移动端自动化Auto.js入门及案例实操

前提: Appium 和 Airtest 编写的自动化脚本都依赖于 PC 端运行,没有办法直接运行在移动端 Auto.js是什么? 1.是 Android 平台上的一款自动化工具,它通过编写 JavaScript 脚本,对 App 进行自动化操作 2.只支持安卓&a…

【SH】微信小程序调用EasyDL零门槛AI开发平台的图像分类研发笔记

文章目录 微信小程序字符串字符串模板字符串拼接 上传图片编写JS代码编写wxml代码编写wxss代码 GET请求测试编写测试代码域名不合法问题 GET和POST请求测试编写JS代码编写wxml代码编写wxss代码 效果展示 微信小程序字符串 字符串模板 这是ES6引入的特性,允许你通过…

【深度学习入门】深度学习介绍

1.1 深度学习介绍 学习目标 目标 知道深度学习与机器学习的区别了解神经网络的结构组成知道深度学习效果特点 应用 无 1.1.1 区别 1.1.1.1 特征提取方面 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识深度学习通常由多个层组成&#xff0c…

SparkSQL与Hive的整合

文章目录 SparkSQL与Hive的整合1.1. Spark On Hive1.1.1. Hive的准备工作1.1.2. Spark的准备工作1.1.3. Spark代码开发1.1.4. Spark On Hive案例 1.2. Hive On Spark1.3. SparkSQL命令行1.4. SparkSQL分布式查询引擎1.4.1. 开启ThriftServer服务1.4.2. beeline连接ThriftServer…

梳理你的思路(从OOP到架构设计)_基本OOP知识03

目录 1、<基类/子类 >结构的接口(卡榫函数) 1&#xff09;卡榫(Hook) 2&#xff09;卡榫函数的Java实现 2、IoC机制与基於 Default 軟硬整合觀點 函数 1&#xff09;卡榫函数实现IoC机制 2&#xff09;默认(Default)行为 1、<基类/子类 >结构的接口(卡榫函数…

软件测试--录制与回放脚本

准备工作 安装phpstudy 配置两个内容 放demo44文件夹 在浏览器输入http://localhost/demo44/index.html&#xff0c;出现如图所示的网站 输入用户名和密码 步骤一&#xff1a;打开Virtual User Generator&#xff0c;点击新建&#xff0c;点击new 步骤二&#xff1a;点击如下…

1.2.3计算机软件

一个完整的计算机系统由硬件和软件组成&#xff0c;用户使用软件&#xff0c;而软件运行在硬件之上&#xff0c;软件进一步的划分为两类&#xff1a;应用软件和系统软件。普通用户通常只会跟应用软件打交道。应用软件是为了解决用户的某种特定的需求而研发出来的。除了每个人都…