当前位置: 首页 > news >正文

信号相角位移量的计算与信号位移计算-附Matlab代码

一、初始相角的位移量

在信号处理中正弦信号经常表示为 x ( n ) = A cos ⁡ ( 2 π f 0 n / f s + θ ) x\left( n \right)=A\cos (2\pi {{f}_{0}}n/{{f}_{s}}+\theta ) x(n)=Acos(2πf0n/fs+θ),其中 f s {{f}_{s}} fs是采样频率, f 0 {{f}_{0}} f0是正弦信号的频率,A是信号的幅值,θ是信号的初始相角。而初始相角值也相当于一个时间的位移量。

信号可进一步表示为:

在这里插入图片描述
由上式可知

在这里插入图片描述

然后导出

在这里插入图片描述
d值就是所要求的相角代表的位移样点量。

而要使信号恢复到初始相角为0,则相当于要设置一个函数y(n),满足y(n)=x(n-d),可得到

在这里插入图片描述

二、获取原始信号的振幅与初始相位角

假如有一正弦信号,如下图所示:

Matlab代码如下:

%% 原始信号
fs = 2000;                      % 采样频率
N = 40;                         % 信号长度
n = 0:N-1;                      % 样点序列
f0 = 100;                       % 初始频率
ph1=-pi/3;                      % 初始相角
x=cos(2*pi*f0*n/fs+ph1);        % 余弦信号序列
figure,plot(n,x,'r')
xlabel('样点'); ylabel('幅值'); 

在这里插入图片描述

图1 正弦信号

通过对上述信号进行傅里叶变换,得到频域谱,可通过分析获得信号在频域谱上的位置值,利用该位置,即可计算出上述信号的幅值与初始相位角,对应的Matlab代码如下:

%% 通过FFT计算信号幅值和信号初始相位角
X=fft(x);                      % FFT
figure,plot(n,real(X),'r');title('信号的频域图')
df = fs/N;                      % 计算频率间隔
nk=f0/df+1;                     % 信号在nk谱线上
A=abs(X(nk))*2/N;               % 计算幅值
Theta=angle(X(nk));             % 计算初始相角

在这里插入图片描述

图2 信号频谱

此时,计算出的信号幅值为1和初始相位角为-1.0472,因此,通过傅里叶变换后计算得到的信号幅值和初始相位角与设置值完全一致。

三、相角位移量计算与信号恢复到初始相角为0

对于本例来说,初始相角值ph1为负值,对应的样点值d也为负值,波形又要左移。
此时,根据上述理论公式,计算得到的相角位移量d=-3.33333

对应的Matlab代码如下:

%% 相角位移量计算
d = ph1*fs/f0/(2*pi);           % 计算位移量

根据第一节的理论,使原始信号位移,此时恢复得到的信号如下图所示:

在这里插入图片描述

图3 信号发生位移(此时初相角为0)

计算得到初始相位角为0。

对应的matlab代码如下:

%% 信号恢复到初始相角为0
Ex=exp(-1j*2*pi*n*d/N);         % 计算旋转因子W^(dk) 

Y = X.*Ex;                      % FFT后乘旋转因子
figure,plot(n,real(Y),'r');title('信号的频域图')

y=ifft(Y);                      % FFT逆变换
y1=real(y);                     % 取的实部
figure,plot(n,y1,'r')
xlabel('样点'); ylabel('幅值'); 

Y1=fft(y1);                     % FFT
df = fs/N;                      % 计算频率间隔
nk=f0/df+1;                     % 信号在nk谱线上
A=abs(real(Y1(nk)))*2/N;        % 计算幅值
Theta=angle(Y1(nk));            % 计算初始相角

四、Matlab程序获取与验证

完整代码链接如下:

信号相角位移量的计算与信号位移计算

可开展针对性验证实验,请私信博主。

相关文章:

  • 小红书店铺需不需要开?在小红书开店需要注意什么
  • 通过图卷积网络从单词语义学习到句子句法,用于基于方面的情感分析
  • Springboot你写我评小说同好交流网站hp7zh计算机毕业设计-课程设计-期末作业-毕设程序代做
  • GitHub上架即巅峰!《Spring Cloud微服务架构实战》标星已超30k
  • ADI的DSP开发软件:CCES软件的使用说明(很早期写的一点心得)
  • Webpack完整打包流程分析
  • ubuntu 20.04 设置DNS
  • 小型扫雪机结构设计
  • Day17 | 每天五道题
  • 无人机边缘计算中的计算卸载——Stackelberg博弈方法论文复现附matlab代码
  • 【明天截稿】Wiley出版社,传感器网络与电路类SCI,仅2-3个月左右录用
  • Matplotlib学习笔记(第一章)
  • 做一个公司网站大概要多少钱?
  • MySQL 数据库主从复制
  • 分布式文件存储系统FastDFS[1]-介绍以及安装
  • 如何使用 Excel拆分文本单元格,基于LEFT、RIGHT、MID、SUBSTITUTE、FIND、SEARCH
  • Java 泛型方法总结
  • WebRTC Native M96 SDK接口封装--注册语音观测器对象获取原始音频数据registerAudioFrameObserver
  • 深入理解Linux网络技术内幕(十一)——帧的传输
  • PXE + Kickstart 服务器批量安装Linux系统
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉