时域中的离散时间信号01

一、序列的时域表示

1、什么是序列:

  • Sequences:离散时间信号,即时间变量离散化的信号。 连续时间变量经过抽样,就可以得到离散时间信号。 通常抽样时间间隔是均匀的,所以得到的信号可以称为等间隔离散时间信号。
    序列可以表示为{x[n]}(或x[n]),其中的n仅仅为整数的时候为有效值。
    例:{x[n]}={…,2,2.4,1,5,4,6,4.4,…},在一个序列中,通常要知道序列零点的位置,可以看作time index(时间索引),在零点左边的n值依次为-1,-2,…在零点右边的n值依次为1,2,…
  • 使用matlab可以生成任意的序列,这里给出几种常用的序列信号的代码以及仿真图
    stem函数作用为将数据序列Y从x轴到数据值按照茎状形式画出,以圆圈终止。如果Y是一个矩阵,则将其每一列按照分隔方式画出。
N = 101;        %设置序列长度为101
n = -50:50;      %定义n值
%生成各序列数值
un = [zeros(1,50) ones(1,51)];              
dn = [zeros(1,50) 1 zeros(1,50)];
rn = [zeros(1,50) ones(1,10) zeros(1,41)];
%画图
subplot(311);
stem(n,un);
title('单位阶跃序列');
subplot(312);
stem(n,dn);
title('单位脉冲序列');
subplot(313);
stem(n,rn);
title('矩形序列');

在这里插入图片描述

  • 在对一个信号进行采样时,需要确定采样周期T,每隔一个T值进行一次采样,与此同时,为确保采样的准确性,对应的采样频率必须大于采样信号中最高频率的两倍。
    在这里插入图片描述

2、实数序列和负数序列

  • 对于一个实序列{x[n]},如果第n个样本的x[n]对所有n值都是实数,那么是实序列,否则是复数序列。
  • eg:
    {x[n]} = {cos0.25n}是一个实序列;
    {y[n]} = {e^(j0.3n)}是一个复数序列,可以使用欧拉公式展开。
    🐖:欧拉公式:e^(ix) = cosx + isinx
    因此{y[n]}可以写作:{y[n]} = {cos0.3n} + j{sin0.3n},前面是实部,后面是虚部

3、复共轭序列

  • {x[n]}的复共轭序列为:{x*[n]} = {xre[n]}-j{xim[n]}
  • eg:{w[n]} = {cos0.3n} - j{sin0.3n} = {e^(-j0.3n)}就是{y[n]}的复共轭序列

4、因果、反因果序列和非因果序列

  • 因果序列:一个右边序列,当n<N1时,y[n]=0,当n>N1时,y[n]为无限长的序列,是一个因果序列

  • 一个左边序列,当n>N2时,y[n]=0;,当n<N2时,y[n]为无限长的序列,是一个反因果序列
    在这里插入图片描述

  • 将h[0]=0(n<0)的序列称为因果序列,不满足的为非因果序列
    在这里插入图片描述

二、序列的运算操作

1、序列运算种类:

一个单输入单输出离散时间系统在输入序列上按照规定的规则运行,并发展出输出序列,使其具有更理想的性质。

  • 调制操作:y[n]=x[n]·w[n]
    在这里插入图片描述
n = 0:9;        %定义序列长度
a = [1 2 3 4 5 5 4 3 2 1];
b = [1 1 4 4 6 6 8 8 9 10];
%画图
subplot(311);
stem(n,a);title('a序列');
subplot(312);
stem(n,b);title('b序列');
subplot(313);
stem(n,a.*b);title('操作');

在这里插入图片描述

  • 累加操作:y[n]=x[n]+w[n]
    在这里插入图片描述
n = 0:9;        %定义序列长度
a = [1 2 3 4 5 5 4 3 2 1];
b = [1 1 4 4 6 6 8 8 9 10];
%画图
subplot(311);
stem(n,a);title('a序列');
subplot(312);
stem(n,b);title('b序列');
subplot(313);
stem(n,a+b);title('操作');

在这里插入图片描述

  • 乘法操作:y[n]=A·x[n]
    在这里插入图片描述
n = 0:9;        %定义序列长度
a = [1 2 3 4 5 5 4 3 2 1];
b = [1 1 4 4 6 6 8 8 9 10];
%画图
subplot(311);
stem(n,a);title('a序列');
%subplot(312);
%stem(n,b);title('b序列');
subplot(313);
stem(n,4*a);title('操作');

在这里插入图片描述

  • 延时操作:y[n]=x[n-1]
    在这里插入图片描述
n = 0:9;        %定义序列长度
a = [1 2 3 4 5 5 4 3 2 1];
b = [1 1 4 4 6 6 8 8 9 10];
%画图
subplot(311);
stem(n,a);title('a序列');
%subplot(312);
%stem(n,b);title('b序列');
subplot(313);
stem(n+1,a);title('操作');

在这里插入图片描述

  • 超前操作:y[n]=x[n+1]
    在这里插入图片描述
n = 0:9;        %定义序列长度
a = [1 2 3 4 5 5 4 3 2 1];
b = [1 1 4 4 6 6 8 8 9 10];
%画图
subplot(311);
stem(n,a);title('a序列');
%subplot(312);
%stem(n,b);title('b序列');
subplot(313);
stem(n-1,a);title('操作');

在这里插入图片描述

  • 逆时操作:y[n]=x[-n]
n = 0:9;        %定义序列长度
a = [1 2 3 4 5 5 4 3 2 1];
b = [1 1 4 4 6 6 8 8 9 10];
%画图
subplot(311);
stem(n,a);title('a序列');
%subplot(312);
%stem(n,b);title('b序列');
subplot(313);
stem(-n,a);title('操作');

在这里插入图片描述

2、序列相加运算取平均值进行去噪

  • eg:生成一个无损的信号,同时生成一个幅值在-0.5~+0.5之间的噪声信号,通过累加后取平均值的方法将噪声滤除。
    采用累加后取平均值去噪的原因:噪声是幅值在-0.5~+0.5随机的信号,其平均值为0,因此取平均后就可以将噪声滤除。
N = 100;        %定义序列长度
n = 0:N-1;
s = 2*n.*(0.9.^n);  %生成无损信号
d = rand(N,1)-0.5;  %生成噪声
x = s + d';
figure(1);
stem(n,x);title('singal+noise');
pause
for m = 1:100;
    d = rand(N,1)-0.5;
    x1 = s + d';
    x = x + x1;
end    
x = x/100;
figure(2);
stem(n,d);title('noise');
figure(3);
stem(n,s);title('signal');
figure(4);
stem(n,x);title('result');

  • 噪声信号
    在这里插入图片描述

  • 无损信号
    在这里插入图片描述

  • 混合噪声的信号
    在这里插入图片描述

  • 去噪后的信号
    在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值