【现代信号处理第二次作业】

简介: 【现代信号处理第二次作业】

6.png3.png1. 三角函数基本公式


1.png

1.1 函数关系


2.png

1.2 诱导公式

3.png

4.png


5.png

6.png


1.5-1


7.png

1.5-2

8.png9.png

1.6-1

知识点参考

1.png

2.png

3.png



1.6-2

(1)代码

clc;clear;
N=6;
xn=[ones(1,N/3),zeros(1,2*N/3)];
n=0:N-1;
Xk=dfs(xn,N)


打印如下

4.png

5.png

6.png



根据

7.png

化简如下:


8.png

9.png


(3)原始谱、幅度谱和相位谱分别如下:

10.png

clc;clear;
N=6;
xn=[ones(1,N/3),zeros(1,2*N/3)];
n=0:N-1;
Xk=dfs(xn,N);
subplot(1,3,1);
stem(n,xn); ylabel ('x1'); xlabel ('n'); %显示序列的图形
subplot(1,3,2);
stem(n,abs(Xk)); ylabel ('|X(k)|'); xlabel ('k(θ=2kpi/N)'); %显示序列幅度的图形
subplot(1,3,3);
stem(n,angle(Xk)); ylabel ('ang|X(k)|'); xlabel ('k(θ=2kpi/N)'); %显示序列相位的图形


(4)n代入的


11.png

原始序列与分解序列是同一序列。



1.6-3-1

图像分别如下:

1.png

由图1/2可知,无限长序列在截取后,其频谱会失真,此失真叫截取失真。截取长度越小失真越严重。

由图3/4可知,无限长序列截短后,其频谱会产生失真,此失真叫截取失真。

代码如下:

clc;clear;
n=0:0.01:4;
x1n=cos(0.5*pi*n);
N = size(n,2);
Xk = dfs(x1n, N);
% stem(n,abs(Xk)); %显示序列的幅度谱
n1 = 0:8;
n1 = n1*4/8;%归整到一个周期内
x8n=cos(0.5*pi*n1);
x8n1=zeros(1,2048-size(x8n,2));
x8n=[x8n,x8n1];
N1 = size(x8n,2);
X8k = dfs(x8n,N1);
k8 = 0:N1-1;
% stem(k8,abs(X8k)); %显示序列的幅度谱
n2 = 0:32;
n2 = n2*4/32;
x32n=cos(0.5*pi*n2);
x32n1=zeros(1,2048-size(x32n,2));
x32n=[x32n,x32n1];
N2 = size(x32n,2);
X32k = dfs(x32n,N2);
k32 = 0:N2-1;
%plot(2*k32*pi/2048,abs(X32k)); %显示序列的幅度谱
n2 = 0:32;
n2 = n2*4/32;%归整到一个周期内
x32n=cos(0.5*pi*n2);
N2 = size(x32n,2);
X32kt = dfs(x32n,N2);
k32t = 0:N2-1;
% stem(k8,abs(X8k)); %显示序列的幅度谱
figure(1);
subplot(1,4,1);%1*4图形中的第一个
plot(n,abs(Xk)); ylabel ('Xk'); xlabel ('n'); title('原序列的DTFT幅度谱');
subplot(1,4,2);
plot(k8*2*pi/2048,abs(X8k)); ylabel ('X8k'); xlabel ('k8'); title('长度为8的DTFT谱');
subplot(1,4,3);
plot(k32*2*pi/2048,abs(X32k)); ylabel ('X32k'); xlabel ('k32'); title('长度为32的DTFT谱');
subplot(1,4,4);
stem(k32t*2*pi/32,abs(X32kt)); ylabel ('X32k'); xlabel ('k32'); title('长度为32的DFT谱');

2.png


1.6-3-2

(1)

3.png

代码如下:

clc;clear;
n=0:0.01:2*pi;
x1n=(-0.2).^n;
N = size(n,2);
Xk = dfs(x1n, N);
figure(1);
plot(n,abs(Xk));ylabel ('|Xk|'); xlabel ('n'); title('原序列的DTFT幅度谱'); %显示序列的幅度谱
hold on;


(2)

4.png

代码如下:

n1 = 0:32;
n1 = n1*2*pi/32;
x32n=(-0.2).^n1;
N1 = size(x32n,2);
X32k = dfs(x32n,N1);
k32 = 0:N1-1;
%stem(k32,abs(X32k)); %显示序列的幅度谱
n2 = 0:64;
n2 = n2*2*pi/64;
x64n=(-0.2).^n2;
N2 = size(x64n,2);
X64k = dfs(x64n,N2);
k64 = 0:N2-1;
%stem(k64,abs(X64k)); %显示序列的幅度谱
n3 = 0:128;
n3 = n3*2*pi/128;
x128n=(-0.2).^n3;
N3 = size(x128n,2);
X128k = dfs(x128n,N3);
k128 = 0:N3-1;
% stem(k128,abs(X128k)); %显示序列的幅度谱
figure(2);
subplot(1,3,1);%2*2图形中的第一个
stem(k32,abs(X32k)); ylabel ('|X32k|'); xlabel ('k32'); title('32序列的DFT幅度谱');
subplot(1,3,2);
stem(k64,abs(X64k)); ylabel ('|X64k|'); xlabel ('k64'); title('64序列的DFT幅度谱');
subplot(1,3,3);
stem(k128,abs(X128k)); ylabel ('|X128k|'); xlabel ('k128'); title('128序列的DFT幅度谱');
hold on;


(3)

5.png


代码如下:

n4 = 0:1024;
n4 = n4*2*pi/1024;
x1024n=(-0.2).^n4;
N4 = size(x1024n,2);
tic%开始计时
X1024k = dfs(x1024n,N4);
toc,disp(['1024DFT运行时间: ',num2str(toc)]);%结束计时,打印消耗时间
tic%开始计时
X1024kf = fft(x1024n,N4);
toc,disp(['1024FFT运行时间: ',num2str(toc)]);%结束计时,打印消耗时间
k1024 = 0:N4-1;
figure(3);
subplot(1,2,1);%2*1图形中的第一个
stem(k1024,abs(X1024k)); ylabel ('|X1024k|'); xlabel ('k1024'); title('1024序列的DFT幅度谱');
subplot(1,2,2);
stem(k1024,abs(X1024kf)); ylabel ('|X1024kf|'); xlabel ('k1024'); title('1024序列的DFT幅度谱');


打印计算时间:

6.png


快速傅里叶变换计算时间更短,值得使用!


7.png

1.7-3-1

(1)

1.png

其极点为 z=\frac{1}{8},则有

6e2eb5236a2d4e7c8adea1467508a050.png

幅度谱:

2.png

代码:

clc;clear;
n=-pi:0.01:pi;
y=(exp(j*n)-7/8)./(exp(j*n)-1/8);
figure(1);
plot(n,abs(y));ylabel ('|H(e^{j\theta}|'); xlabel ('\theta'); title('幅度谱');
grid on;


(2)该滤波器的角频率为 0附近的增益为零,而在角频率为π的增益最大,

该滤波器滤去低频序列,保留高频序列。

(3)


3.png

4.png

代码:

syms n
f=(exp(1i*n)-7/8)./(exp(1i*n)-1/8);
disp(vpa(abs(subs(f,'n',0))));disp(vpa(angle(subs(f,'n',0)*180/pi)));
disp(vpa(abs(subs(f,'n',pi/2))));disp(vpa(angle(subs(f,'n',pi/2))*180/pi));
disp(vpa(abs(subs(f,'n',pi))));disp(vpa(angle(subs(f,'n',pi))*180/pi));

5.png


1.7-3-2


6.png

7.png

系统为 FIR滤波器,该滤波器为低通滤波器(LPF)

图像:

8.png

代码:

clc; clear;
n = -pi:0.01:pi;
y1 = 1-3*exp(-1i*n)+3*exp(-2*1i*n)-exp(-3*1i*n);
y2 = 1+3*exp(-1i*n)+3*exp(-2*1i*n)+exp(-3*1i*n);
figure(1)
subplot(1,2,1);
plot(n,abs(y1));ylabel ('|H_1(e^{j\theta})|'); xlabel ('\theta'); title('幅度谱');grid on;
subplot(1,2,2);
plot(n,abs(y2));ylabel ('|H_2(e^{j\theta})|'); xlabel ('\theta'); title('幅度谱');grid on;



9.png

10.png

1.7-3-3

11.png


12.png


系统为高通滤波器。

图像

13.png


代码

clc; clear;
n = -pi:0.001:pi;
y1 = exp(1i*n)./(exp(1i*n)-0.3);
y2 = exp(1i*n)./(exp(1i*n)+0.3);
figure(1)
subplot(1,2,1);
plot(n,abs(y1));ylabel ('|H_1(e^{j\theta})|'); xlabel ('\theta'); title('幅度谱');grid on;
subplot(1,2,2);
plot(n,abs(y2));ylabel ('|H_2(e^{j\theta})|'); xlabel ('\theta'); title('幅度谱');grid on;

14.png

目录
相关文章
|
7月前
|
Ubuntu 安全 Linux
Linux发行版深度对比:Ubuntu、CentOS与Fedora
Ubuntu、CentOS和Fedora分别在用户体验、企业级稳定性和技术创新方面展现了各自的优势,适合不同类型的用户和场景。选择合适的Linux发行版应基于个人或组织的需求、技术背景以及对稳定性和最新技术的偏好。无论是追求直观易用的桌面环境,还是寻求企业级的稳定性与安全性,亦或是渴望体验最新技术的前沿,这三大发行版都提供了丰富的选项和强大的支持,满足了Linux用户在各种场景下的需求。在选择发行版时,深入理解其特点和优势,结合自身需求进行考量,将有助于做出最适合自己的决策,从而在Linux世界中获得最佳的使用体验。
|
存储 Python
CSV文件
【10月更文挑战第18天】CSV文件
1953 2
|
11月前
|
人工智能 编解码 异构计算
Neo-1:全球首个原子级生成式AI模型!这个AI模型把10年药物研发周期压缩到1个月
VantAI推出的Neo-1是全球首个统一分子生成与原子级结构预测的AI模型,采用潜在空间扩散技术,结合大规模训练和定制数据集,显著提升药物研发效率。
543 15
Neo-1:全球首个原子级生成式AI模型!这个AI模型把10年药物研发周期压缩到1个月
|
人工智能 大数据 开发者
阿里云技术解决方案开放免费试用,热门AI场景免费体验!
阿里云推出免费试用计划,2025年7月起,新老用户均可领取100点试用点,用于部署体验技术解决方案。完成部署还可再获最高100点,相当于一年200元云资源免费用。支持AI、大数据、安全等多个领域,涵盖DeepSeek部署、模型微调等热门场景。点击链接即可领取,快速上手云上方案。
|
存储 缓存 算法
高效编程:我们应该了解哪些编译器优化技术?如何做出成熟的优化行为,掌握C++编程中的编译器优化艺术。
高效编程:我们应该了解哪些编译器优化技术?如何做出成熟的优化行为,掌握C++编程中的编译器优化艺术。
770 5
|
消息中间件 存储 分布式计算
分布式系统的演进过程
【10月更文挑战第24天】总的来说,分布式系统的演进是一个不断适应变化、解决问题和创新发展的过程。从早期的萌芽到如今的多元化发展,它见证了技术的进步和应用场景的拓展。在未来,分布式系统将继续在各个领域发挥重要作用,推动着数字化世界的不断前行。
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
783 4
|
机器学习/深度学习 自然语言处理 数据处理
《量子机器学习:构建量子版神经网络模型》
量子计算与机器学习的融合带来了新机遇。量子卷积神经网络利用量子比特的叠加和纠缠特性,高效处理大规模数据,提升特征提取速度与泛化能力。量子循环神经网络则擅长处理复杂序列数据,通过量子比特状态传递信息,增强计算效率。设计量子神经网络需考虑量子比特选择、状态、操作及网络结构,尽管面临外界干扰等挑战,该模型在图像识别、语音识别等领域展现巨大潜力,未来将推动更多创新。
367 7
|
存储 分布式计算 监控
|
SQL 缓存 负载均衡
项目高并发问题解决方案合集
这道题是比较典型的题吧,也是我第一个公司入职的时候,面试官问我的,当时我回答只能说是星星之火,还不能燎原那种,差点被面试官给浇灭。
419 0

热门文章

最新文章