打印
[STM32F4]

请教 STM32F4能进行基于小波的信号处理嘛

[复制链接]
3167|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nongfuxu|  楼主 | 2015-1-1 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用小波对信号中的噪声进行过滤。
请教 STM32F4能进行基于小波的信号处理嘛?
沙发
Eric2013| | 2015-1-1 19:00 | 只看该作者
没问题。麻烦的是先把代码搞出来。

使用特权

评论回复
板凳
Eric2013| | 2015-1-1 19:00 | 只看该作者
话说楼主的帖子是2015年此版块的第一个帖子:lol:lol

使用特权

评论回复
地板
nongfuxu|  楼主 | 2015-1-1 20:43 | 只看该作者
那你是新年第一个回复我的兄弟!

使用特权

评论回复
5
徐大山| | 2015-1-2 09:56 | 只看该作者
小波是大波的MM ?

使用特权

评论回复
6
徐大山| | 2015-1-2 09:57 | 只看该作者
其信号处理时咋回事呢?

使用特权

评论回复
7
lyuwjq| | 2015-3-21 19:08 | 只看该作者
Eric2013 发表于 2015-1-1 19:00
没问题。麻烦的是先把代码搞出来。

我有MATLAB小波程序,你们能改成C的试试吗?

使用特权

评论回复
8
Eric2013| | 2015-3-21 19:19 | 只看该作者
lyuwjq 发表于 2015-3-21 19:08
我有MATLAB小波程序,你们能改成C的试试吗?

暂时还没有精力去搞这个,不好意思啊:handshake

使用特权

评论回复
9
lyuwjq| | 2015-3-22 20:36 | 只看该作者
Eric2013 发表于 2015-3-21 19:19
暂时还没有精力去搞这个,不好意思啊

那我能请教您,1M flash+192k RAM,这个内存能支持小波的复杂运算吗?运算量比较大?能不能给分析下?谢谢

使用特权

评论回复
10
小班儿| | 2015-3-23 10:02 | 只看该作者
请教楼主和各位大侠,基于小波变换的故障电弧检测各位大侠有没有接触过的,用小波去实现故障电弧的检测可行性又有多少呢?多谢了,这块有点高深搞不懂。

使用特权

评论回复
11
jinjing999| | 2015-3-25 16:28 | 只看该作者
clc;clear;
%% 1.正弦波定义
f1=50; % 频率1
f2=50; % 频率2
fs=2*(f1+f2); % 采样频率
Ts=1/fs; % 采样间隔
N=120; % 采样点数
n=1:N;
y=sin(2*pi*f1*n*Ts)+sin(2*pi*f2*n*Ts); % 正弦波混合
figure(1)
plot(y);
title('两个正弦信号')
figure(2)
stem(abs(fft(y)));
title('两信号频谱')
%% 2.小波滤波器谱分析
h=wfilters('db30','l'); % 低通
g=wfilters('db30','h'); % 高通
h=[h,zeros(1,N-length(h))]; % 补零(圆周卷积,且增大分辨率变于观察)
g=[g,zeros(1,N-length(g))]; % 补零(圆周卷积,且增大分辨率变于观察)
figure(3);
stem(abs(fft(h)));
title('低通滤波器图')
figure(4);
stem(abs(fft(g)));
title('高通滤波器图')
%% 3.MALLET分解算法(圆周卷积的快速傅里叶变换实现)
sig1=ifft(fft(y).*fft(h)); % 低通(低频分量)
sig2=ifft(fft(y).*fft(g)); % 高通(高频分量)
figure(5); % 信号图
subplot(2,1,1)
plot(real(sig1));
title('分解信号1')
subplot(2,1,2)
plot(real(sig2));
title('分解信号2')
figure(6); % 频谱图
subplot(2,1,1)
stem(abs(fft(sig1)));
title('分解信号1频谱')
subplot(2,1,2)
stem(abs(fft(sig2)));
title('分解信号2频谱')
%% 4.MALLET重构算法
sig1=dyaddown(sig1); % 2抽取
sig2=dyaddown(sig2); % 2抽取
sig1=dyadup(sig1); % 2插值
sig2=dyadup(sig2); % 2插值
sig1=sig1(1,[1:N]); % 去掉最后一个零
sig2=sig2(1,[1:N]); % 去掉最后一个零
hr=h(end:-1:1); % 重构低通
gr=g(end:-1:1); % 重构高通
hr=circshift(hr',1)'; % 位置调整圆周右移一位
gr=circshift(gr',1)'; % 位置调整圆周右移一位
sig1=ifft(fft(hr).*fft(sig1)); % 低频
sig2=ifft(fft(gr).*fft(sig2)); % 高频
sig=sig1+sig2; % 源信号
%% 5.比较
figure(7);
subplot(2,1,1)
plot(real(sig1));
title('重构低频信号');
subplot(2,1,2)
plot(real(sig2));
title('重构高频信号');
figure(8);
subplot(2,1,1)
stem(abs(fft(sig1)));
title('重构低频信号频谱');
subplot(2,1,2)
stem(abs(fft(sig2)));
title('重构高频信号频谱');
figure(9)
plot(real(sig),'r','linewidth',2);
hold on;
plot(y);
legend('重构信号','原始信号')
title('重构信号与原始信号比较')

使用特权

评论回复
12
jinjing999| | 2015-3-25 16:33 | 只看该作者
这个是matlab程序,就是fft和ifft转换而已。fft有函数库可以用,卷积也很好编程。如果不需要重构计算。编写程序不困难

使用特权

评论回复
13
cowboy2014| | 2015-3-30 17:37 | 只看该作者
F4的运算能力怎么样?
做小波变换能吃的消不

使用特权

评论回复
14
Vitality1| | 2015-3-30 19:43 | 只看该作者
这个是matlab程序,就是fft和ifft转换而已。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:是不是经济不KUA,房价下不来? 高房价只能带来“实体经济挤出效应”。

417

主题

4293

帖子

2

粉丝