搜索
bottom↓
回复: 14

在数字信号处理里面如何完成这个信号的重构?

[复制链接]

出0入0汤圆

发表于 2014-11-2 10:19:11 | 显示全部楼层 |阅读模式
本帖最后由 liangd123654 于 2014-11-2 13:03 编辑

在数字信号处理里面如何完成这个信号的重构?
如题。

问题补充:

已知的就只有采样率FS,序列长度N,还有就是原始信号序列。信号各个频率成分的幅频相信息均不已知。

先假设只有2个频率成分。

图片中的问题描述不全面,如有误导,抱歉抱歉。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-11-2 12:09:17 | 显示全部楼层
FFT 后取共轭 ,是得到什么?

需要FFT后求出 两个相位值吧

出420入0汤圆

发表于 2014-11-2 12:38:02 | 显示全部楼层
你这里边哪几个参数是已知的

出0入0汤圆

 楼主| 发表于 2014-11-2 12:55:30 | 显示全部楼层
hongh 发表于 2014-11-2 12:09
FFT 后取共轭 ,是得到什么?

需要FFT后求出 两个相位值吧

对原始信号FFT的结果取共轭得到一个新的序列。再对这个序列进行IFFT。

出0入0汤圆

 楼主| 发表于 2014-11-2 12:56:33 | 显示全部楼层
asma 发表于 2014-11-2 12:38
你这里边哪几个参数是已知的

已知的有:
FS
N
还有就是长度为N的原始信号序列。

MATLAB程序里有。

出0入0汤圆

发表于 2014-11-2 13:23:01 | 显示全部楼层
liangd123654 发表于 2014-11-2 12:55
对原始信号FFT的结果取共轭得到一个新的序列。再对这个序列进行IFFT。

我 的意思 是不明白 ,做共轭的意义。

出0入0汤圆

发表于 2014-11-2 13:51:39 来自手机 | 显示全部楼层
只要保证采样不发生混叠就很容易处理,现在频谱泄露校正算法还是很精确的可以翻下我以前发的算法

出0入0汤圆

 楼主| 发表于 2014-11-2 20:30:09 | 显示全部楼层
again 发表于 2014-11-2 13:51
只要保证采样不发生混叠就很容易处理,现在频谱泄露校正算法还是很精确的可以翻下我以前发的算法 ...

你好。
绝对不会发生混叠。
翻了你的3页的帖子,没有发现。 能不能针对我的这个问题提供一些具体的方法呢?

出0入0汤圆

 楼主| 发表于 2014-11-2 20:36:57 | 显示全部楼层
hongh 发表于 2014-11-2 13:23
我 的意思 是不明白 ,做共轭的意义。

一个余弦信号的相位如果变为原来的相反数,傅里叶变换的结果就会是原来的共轭。

MATLAB程序里面可以看到:f1(400Hz)、f2(1200Hz)都正好在FFT的频点上时,IFFT的结果就是要重建的信号。

但是当信号的频率不是40Hz的整倍数时,这种方法就失效了。

出0入0汤圆

发表于 2014-11-2 21:37:05 | 显示全部楼层
clear all;clc  
N=256;
fs=1000;
f=51.1234;
a=1.2345;
ph=30.123;
dc=0.123;
t=0:N-1;
x=a*sin(2*pi*f*t/fs+ph*pi/180)+dc;
xfft=fft(x,N);
y=abs(xfft);
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka)
fo=(k-1+r)*fs/N
ao=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho=(angle(z1)-pi*r)*180/pi+90

MATLAB输出结果,精度自己看
fo =

  51.123401059088216


ao =

   1.234499850166726


pho =

  30.122670622875049
这个是单频信号,多频的话这个三点校正算法频率间隔需要5个以上才比较好,你可以去看看频谱泄漏校正算法相关数据,丁康老师、王兆华老师推荐可以看

出0入0汤圆

发表于 2014-11-2 21:49:52 | 显示全部楼层
本帖最后由 again 于 2014-11-2 21:51 编辑

两个频率的你看下
clear all;clc  
N=256;
fs=1000;
f=51.1234;
a=1.2345;
ph=30.123;
dc=0.123;
f2=123.4567;
a2=0.54321;
ph2=9.87654;
t=0:N-1;
x=a*sin(2*pi*f*t/fs+ph*pi/180)+dc;
x=x+a2*sin(2*pi*f2*t/fs+ph2*pi/180);
xfft=fft(x,N);
y=abs(xfft);
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka)
fo=(k-1+r)*fs/N
ao=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho=(angle(z1)-pi*r)*180/pi+90
y(k-2)=0;
y(k-1)=0;
y(k)=0;
y(k+1)=0;
y(k+2)=0;
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka)
fo2=(k-1+r)*fs/N
ao2=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho2=(angle(z1)-pi*r)*180/pi+90

输出
r =

   0.087606333308264


fo =

  51.123462239485406


ao =

   1.234492722429198


pho =

  30.118693364380803


r =

  -0.395071379304881


fo2 =

     1.234567524245903e+02


ao2 =

   0.543202651514619


pho2 =

   9.875865191205620

出0入8汤圆

发表于 2014-11-2 21:59:11 | 显示全部楼层
坛里的高手真多啊!~~~

出0入0汤圆

 楼主| 发表于 2014-11-2 23:28:12 | 显示全部楼层
again 发表于 2014-11-2 21:49
两个频率的你看下
clear all;clc  
N=256;

多谢提供代码。
两个我都看了,思路就是

首先进行信号频率估计,利用了频谱幅度信息提高了估计精度。
然后就得到对应的频率的幅相信息。
最后可以解决我的问题实现信号的重构。

然而问题在于这种方法虽然提高了频率估计精度,但是由于始终是基于FFT,频率分辨率依然没有提高。

也就是说双频的时候,对于第二个程序,当|f2-f|<fs/N 的时候两个频率估计都不准。

如果说的不对,还请指正。

使用fft等频率估计的方法始终受制于估计频率分辨率。所以我现在就想,能不能舍弃频率估计的思路,不用知道精确的频率,只是获得重构的信号。

出0入0汤圆

发表于 2014-11-3 16:54:01 | 显示全部楼层
liangd123654 发表于 2014-11-2 20:36
一个余弦信号的相位如果变为原来的相反数,傅里叶变换的结果就会是原来的共轭。

MATLAB程序里面可以看到 ...

取共轭,是时域中相位 变成相反数 ,还是相位差90 , 我记错了?

出0入0汤圆

 楼主| 发表于 2014-11-3 22:30:49 | 显示全部楼层
hongh 发表于 2014-11-3 16:54
取共轭,是时域中相位 变成相反数 ,还是相位差90 , 我记错了?

你下载我发的那个程序 改改信号试一下就知道了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表