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

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



0.png

1.1-1

用 matlab画出【例 1.1-1】所示的连续信号,并画出取样频率分别为


1000Hz和 5000Hz的离散信号,并分析这两个取样频率对应的信号是否有失真。


解:取样时间间隔分别为


1.1.1.png



连续信号采用plot函数,离散信号采用stem函数。


代码

%%1.1-1
clc;clear;
t1=0:0.001:0.1;
t2=0:0.0002:0.01;
x1=cos(100*pi*t1);
x2=cos(2100*pi*t1);
x3=cos(100*pi*t2);
x4=cos(2100*pi*t2);
subplot(3,2,1);
plot(t1,x1); ylabel ('x1'); xlabel ('t1');
subplot(3,2,2);
plot(t1,x2); ylabel ('x2'); xlabel ('t1');
subplot(3,2,3);
stem(t1,x1); ylabel ('x1'); xlabel ('t1');
subplot(3,2,4);
stem(t1,x2); ylabel ('x2'); xlabel ('t1');
subplot(3,2,5);
stem(t2,x3); ylabel ('x3'); xlabel ('t2');
subplot(3,2,6);
stem(t2,x4); ylabel ('x4'); xlabel ('t2');       

图像显示如下


1.1.2.png


当取样频率为1000Hz的离散信号,x1的频率为50Hz ,x2的频率为1050Hz,x2失真,对比两组信号波形图像一致的。


当取样频率为5000Hz的离散信号,x1的频率为50Hz ,x2的频率为1050Hz,两组信号都没有失真,对比两组信号波形是一致的。



1.4-1

1.4.1.png

解;

1.4.1.1.png

1.4-2

1.4.2.png

解:

1.4.2.2.png

,采用matlab的conv卷积函数


Matlab代码:

%% 1.4-2
clc;clear;
t=0:5;
x1=[1 1 0 0 0 0];
x2=[1 1 1 0 0 0];
x22=[1 2 4 0 0 0];
y1=conv(x1,x2);
y2=conv(x1,x22);
Y1=y1(1:6);
Y2=y2(1:6);
subplot(2,3,1);
stem(t,x1); ylabel ('x1'); xlabel ('t'); grid on;
subplot(2,3,2);
stem(t,x2); ylabel ('x2'); xlabel ('t'); grid on;
subplot(2,3,3);
stem(t,Y1); ylabel ('Y1'); xlabel ('t'); grid on;
subplot(2,3,4);
stem(t,x1); ylabel ('x1'); xlabel ('t'); grid on;
subplot(2,3,5);
stem(t,x22); ylabel ('x22'); xlabel ('t'); grid on;
subplot(2,3,6);
stem(t,Y2); ylabel ('Y2'); xlabel ('t'); grid on;

图像如下:

1.4.2.3.png





(2)采用卷积公式,根据两者的特点分别列出不为零的点


1.4.2.4.png



只有这四个点不为零,其他都为零。


1.4.2.5.png



只有这四个点不为零,其他都为零。


1.4-3

序列xn=cos0.1πn+cos0.7πn,用 matlab画出xn、cos0.1πn、cos0.7πn的图像。并根据卷积的定义用 matlab计算出系统(a)、(b)的响应yn,并与输入信号作比较。

1.4.3.1.png

解:


响应1.4.3.2.png

响应yn波形与x2相似,有滤除x1信号的效果

1.4.3.3.png

响应

1.4.3.4.png

响应yn波形与x2相似,有滤除x1信号的效果。说明系统响应与系统的参数有关。

1.4.3.5.png

Matlab代码如下,切换对应的h:

clc;clear;
t=0:96;
x1=cos(0.1*pi*t);
x2=cos(0.7*pi*t);
x=x1+x2;
h=[1 -3 3 -1];
%h=[1 3 3 1];
N=size(t);
L=size(h);
x3=zeros(1, L(2)-1);
X=[x3,x,x3];
REV_H=h(end:-1:1);
for i=1:N(2)+L(2)-1
    Y(i)=REV_H*(X(i:i+L(2)-1)');
end
subplot(2,2,1);%2*2图形中的第一个
stem(t,x1); ylabel ('x1'); xlabel ('t');
subplot(2,2,2);
stem(t,x2); ylabel ('x2'); xlabel ('t');
subplot(2,2,3);
stem(t,x); ylabel ('x'); xlabel ('t');
subplot(2,2,4);
stem(Y); ylabel ('Y'); xlabel ('t');

4. 总结

       本文完成了现代信号处理第一次作业,后期会分享更多有趣物联网的操作从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。

目录
相关文章
|
6月前
|
Unix Linux C++
c++信号处理
c++信号处理
51 0
|
存储 安全 Unix
ECF机制:信号处理
ECF机制:信号处理
69 0
|
6月前
|
存储 Linux 编译器
Linux进程信号【信号处理】
Linux进程信号【信号处理】
97 0
|
30天前
|
Linux 程序员 API
信号处理函数的注册
【10月更文挑战第1天】在 Linux 系统中,各种信号用于响应不同事件,可通过 `kill -l` 查看所有信号。每个信号具有唯一 ID 及默认操作,如终止进程(Term)或生成核心转储(Core)。信号处理包括:执行默认操作、定义信号处理函数(如使用 `signal` 或推荐的 `sigaction` 函数),以及忽略信号。`sigaction` 提供更多选项,如设置 `SA_NOMASK` 和 `SA_INTERRUPT` 参数来控制信号处理过程中的行为。
|
2月前
|
Linux 程序员 API
信号的机制——信号处理函数的注册
【9月更文挑战第17天】在 Linux 系统中,信号用于响应各种事件,可通过 `kill -l` 查看所有信号。每个信号有唯一 ID 及默认操作,如终止(Term)或生成核心转储(Core)。进程可执行默认操作、捕获信号或忽略信号,但无法忽略 SIGKILL 和 SIGSTOP。常用 `signal` 或 `sigaction` 函数注册信号处理函数,后者更灵活且推荐使用。信号处理涉及系统调用和内核设置,建议根据需求定制参数。
|
算法
【信号去噪和正交采样】流水线过程的一部分,用于对L波段次级雷达中接收的信号进行降噪(Matlab代码实现)
【信号去噪和正交采样】流水线过程的一部分,用于对L波段次级雷达中接收的信号进行降噪(Matlab代码实现)
|
6月前
|
Linux C语言
Linux系统编程(信号处理机制)
Linux系统编程(信号处理机制)
50 0
|
关系型数据库 RDS
MOSFET大信号工作及开关应用
MOSFET(金属氧化物半导体场效应晶体管)是一种常见的半导体器件,具有高输入阻抗、低输出阻抗和较高的开关速度,因此广泛应用于各种电子设备和电路中。
123 0
|
算法 调度
【车间调度】基于模拟退火优化算法的的并行车间机器优化调度(Matlab代码实现)
【车间调度】基于模拟退火优化算法的的并行车间机器优化调度(Matlab代码实现)
122 0
|
机器学习/深度学习 算法 调度
车间调度|基于帝王蝶优化算法的车间调度(Matlab代码实现)
车间调度|基于帝王蝶优化算法的车间调度(Matlab代码实现)
116 0