通信信号与系统分析(二)
来源:互联网 发布:哪个软件有鱼眼效果 编辑:程序博客网 时间:2024/05/01 08:34
本篇主要介绍一下离散时间信号的基本运算。包括五部分,翻转运算,尺度变换,周期延拓,循环移位,卷积。
(一)翻转运算
设有序列x(n),它的翻转序列如下: y(n)=x(-n)注意:在翻转过程中,序列样值向量翻转的同时,位置向量翻转并取反。在matlab中,翻转运算用fliplr函数实现,实现语句:y=fliplr(x);ny=-fliplr(nx);
例题:用MATLAB实现序列x(n)={1,2,3,4,5,6,7,8},[-2,5]的翻转。
clear all;nx=-2:5;x=1:8;ny=-fliplr(nx);y=fliplr(x);subplot(2,1,1);stem(nx,x,'.');xlabel('n');ylabel('x(n)');title('原序列');subplot(2,1,2);stem(ny,y,'.');xlabel('n');ylabel('y(n)');title('原序列');
(二)尺度变换
序列x(n)的尺度变换序列如下:y(n)=x(mn),其中,m>1时代表序列的抽取,没隔m点取一点,0<m<1时代表序列的插值。 设序列x(n)用样值向量x和位置向量nx描述,m倍抽取后的序列为ny1,y1;m倍插值都的样值序列为ny2,y2。
抽取,实现代码:k=length(nx);ny1=zeros(1,k);y1=zeros(1,k);for i=1:k if(mod(nx(i),m)==0) ny1(i)=nx(i)/m; y1(i)=x(i); endend
插值实现代码:设ny2=m*min(nx):m*max(nx),k1=length(ny2),y2=zeros(1,k1);c=1;for i=1:k if(mod(ny2,m)==0) y2(i)=x(c); 插值为0,因此判断条件改变 c=c+1; endend
因此我们可以编写一个函数实现抽样和插值:
function [ny1,y1,ny2,y2]=SeqCDBH(nx,x,m) k=length(nx); ny1=zeros(1,k); y1=ny1; ny2=m*min(nx):m*max(nx); k1=length(ny2); y2=zeros(1,k1); for i=1:k%抽样 if(mod(nx,m)==0) ny1=nx/m; y1(i)=x(i); end end c=1; for i=1:k1; if(mod(ny2,m)==0) y2(i)=x(c); c=c+1; end endend
(三)周期延拓
直接给出例子,读者慢慢领会:function [ny,y]=SeqZQYT(nx,x,l,k)%将序列x(n)以L为周期延拓,自x(n)的起点给出k个周期N=length(nx);ny=min(nx):k*l+min(nx)-1;y=zeros(1,k*l);for i=0:k*l-1 if L==N y(i+1)=x(mod(i,L)+1); end if L>N %补零 x1=[x zeros(1,L-N)]; y(i+1)=x1(mod(i,L)+1); end if(L<N)&&(L>N/2) x2=[x(1:N-L)+X(1+L:N) x(N-L+1:L)]; y(i+1)=x2(mod(i,L)+1); end if(L<=N/2) if(mod(N,2)==1) xb=[x,zeros(1,fix(N/2)-1)]; else xb=[x,zeros(1,N/2)]; end x3=xb(1:L); if mod(N,L)==-1 for t=1:N/L-3 x3=x3+xb(1+t*L:(t+1)*L); end else for i=1:fix(N/L) x3=x3+xb(1+t*L:(t+1)*L); end end y(i+1)=x3(mod(i,L)+1); endend
稍微解释一下代码:当L=N时候,将原序列左右平移即可,L>N,原序列需要补零。N/2<L<N,会有两条曲线重合,L<=N/2时候,会有多条曲线重合。
(四)循环移位
实现过程:N点序列x(n)以N1为周期进行周期延拓,然后进行线性移位。
function [nxc,xc]=SeqCshift(nx,x,N,n0)[nx1,x1]=SeqZQYT(nx,x,N,2);%N点序列if n0>N n0=mod(n0,N);endif n0<-N n0=n0+N;endnxc=min(nx):min(nx)+N-1;if n0>0 xc=x1(N-n0+1:2*N-n0);else xc=x1(abs(n0)+1:abs(n0)+N);end
1 0
- 通信信号与系统分析(二)
- 通信信号与系统分析(一)
- 通信信号与系统分析(三 模拟调制)
- 通信信号与系统分析(四 基于simulink仿真)
- 《信号与线性系统分析》 吴大正 (与电子、通信专业的同学共勉)
- 进程间通信—信号(二)
- 第1章 离散信号与系统分析
- 《系统分析与设计》读书笔记(二)
- 信号与通信系统
- 系统分析与设计学习笔记(二)用例模型
- 信号及信号处理(二): 可靠信号与不可靠信号
- Linux环境进程间通信(二):信号(上)
- Linux环境进程间通信(二):信号(下)
- Linux环境进程间通信(二): 信号(上)
- Linux环境进程间通信(二): 信号(下)
- Linux环境进程间通信(二): 信号(上)
- Linux环境进程间通信(二): 信号(下)
- Linux环境进程间通信(二): 信号(上)
- Android Studio JNI 开发简单案例
- ifconfig命令
- HDU3461-Code Lock
- Java文件IO操作应该抛弃File拥抱Paths和Files
- Runtime Error:[ERROR] A Not allowed system call
- 通信信号与系统分析(二)
- 利用wireshark破解网站密码
- JAVA JDK 简单下载说明
- LeetCode-Intersection of Two Linked Lists
- 进程间通信之管道
- 进程间通信笔记(9)—Posix共享内存
- 操作系统学习(WEEK1-WEEK5)
- 国内植保无人机尚缺四大核心技术
- Java 代理学习笔记 —— 从反射开始