24小时热门版块排行榜    

查看: 2982  |  回复: 9

13143747

银虫 (小有名气)

[求助] 信号分析中有两个for循环太浪费时间了求帮助怎么减少程序运行时间

我的想法:1:运用MATLAB GPU并行运算运算来把for循环放到gpu中计算;
               2:将两个for循环改成矩阵运算。
但是没成功  

close all;clear all;
fs=20000;%采样频率
f=fs/10;%调制频率
N=2000;%采样点数
t=0:1/fs:N/fs-1/fs;


fm=50;%模拟故障频率
b=fm*3000;%衰减率
Tm2=1/fm;%冲击周期
nn=Tm2*floor(t/Tm2);
x1=0.1*exp(-b*(t-nn).^2).*sin(2*pi*f*t);%模拟故障信号,冲击信号
x11=abs(hilbert(x1));%包络解调信号,参考故障诊断里的共振解调方法

%原始信号及频谱
figure;subplot(211);plot(t,x1);
subplot(212);hua_fft(x1,fs,2);

%输入噪声
%load 2000noisebearing.mat;



%% raw noise signal 含噪噪声及频谱

x33=x1+(0.15/0.6)*x2;
figure;subplot(211);plot(t,x33);
subplot(212);hua_fft(x33,fs,2);

Wn=[(1000)/(fs/2) (3000)/(fs/2)]; %对含噪信号先进行带通滤波,再解调
[b, a]=butter(3,Wn);
x333=filter(b,a,x33);
x3=abs(hilbert(x333));

figure;subplot(211);plot(t,x3);
subplot(212);hua_fft(x3,fs,2,0,1000);

S2=x3;%随机共振输入信号

%% Parameters tuning of 2bistable potential
%通过寻找信噪比最优来寻优
Max_SNR2=-50;
index2=1;

        for h=5:5:1000
            for r=0.001:0.001:0.06
            % twosr为随机共振算法
            s6=twosr(1,1,h/fs,r,S2);      
            s6=s6-mean(s6);
         
            y=fft(s6,N);
            pyy=y.*conj(y)/N;
                                 
            P_S_1=pyy(round(fm*N/fs)+1);
            P_N_1=sum(pyy(1:N/2))-P_S_1;
            SNR_B2(int32(h/5),int32(r*1000))=10*log10(P_S_1/P_N_1);
            if 10*log10(P_S_1/P_N_1)>Max_SNR2
                Max_SNR2=10*log10(P_S_1/P_N_1);
                Maxh=h;
                Maxr=r;
            end

            end
        end

%得到SNR最优的随机共振输出信号
s8=twosr(1,1,Maxh/fs,Maxr,S2);  
figure;subplot(211);plot(t,s8);
subplot(212);hua_fft(s8,fs,2,0,1500);
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 2000noisebearing.mat
  • 2015-10-08 21:43:45, 15.19 K
  • 附件 2 : hua_fft.m
  • 2015-10-08 21:43:45, 2.01 K
  • 附件 3 : twosr.m
  • 2015-10-08 21:43:45, 682 bytes

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Scorpio_0

银虫 (著名写手)

Practice makes perfect
2楼2015-10-08 21:45:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

13143747

银虫 (小有名气)

引用回帖:
2楼: Originally posted by Scorpio_0 at 2015-10-08 21:45:04
坐故障诊断的,哈哈

对的
3楼2015-10-08 21:47:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Scorpio_0

银虫 (著名写手)

引用回帖:
3楼: Originally posted by 13143747 at 2015-10-08 21:47:10
对的

告诉你,不要追求实效性,无意中,真想时效就和c++混合编程,matlab并行计算不行,数据集太少的时候还会更慢。还有就是并行计算很多要求,比如同层数据之间没有递归计算。

发自小木虫Android客户端
Practice makes perfect
4楼2015-10-08 21:50:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

13143747

银虫 (小有名气)

引用回帖:
4楼: Originally posted by Scorpio_0 at 2015-10-08 21:50:37
告诉你,不要追求实效性,无意中,真想时效就和c++混合编程,matlab并行计算不行,数据集太少的时候还会更慢。还有就是并行计算很多要求,比如同层数据之间没有递归计算。
...

这个程序跑完20秒,我扩大了范围,跑了2000多秒……

发自小木虫Android客户端
5楼2015-10-08 22:13:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

13143747

银虫 (小有名气)

引用回帖:
4楼: Originally posted by Scorpio_0 at 2015-10-08 21:50:37
告诉你,不要追求实效性,无意中,真想时效就和c++混合编程,matlab并行计算不行,数据集太少的时候还会更慢。还有就是并行计算很多要求,比如同层数据之间没有递归计算。
...

请问一下,同层没有递归什么意思,我这个程序同层有递归吗

发自小木虫Android客户端
6楼2015-10-08 22:15:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Scorpio_0

银虫 (著名写手)

引用回帖:
6楼: Originally posted by 13143747 at 2015-10-08 22:15:09
请问一下,同层没有递归什么意思,我这个程序同层有递归吗
...

就是一层循环下,数据本身或者之间没有依赖关系,比如递归。

发自小木虫Android客户端
Practice makes perfect
7楼2015-10-08 22:32:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Scorpio_0

银虫 (著名写手)

引用回帖:
6楼: Originally posted by 13143747 at 2015-10-08 22:15:09
请问一下,同层没有递归什么意思,我这个程序同层有递归吗
...

并行计算是同步的,但是一个循环下,比如1000个数据是没有顺序的,如果同层下有依赖关系,就会出问题

发自小木虫Android客户端
Practice makes perfect
8楼2015-10-08 22:33:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dk1013

木虫 (正式写手)

建议把程序简化一下,只留最核心部分代码。
简化到最简单,同时又能反映你的问题。
读别人代码是很费时间的事情。
到得还来别无事 庐山烟雨浙江潮
9楼2015-10-09 09:10:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

13143747

银虫 (小有名气)

引用回帖:
9楼: Originally posted by dk1013 at 2015-10-09 09:10:03
建议把程序简化一下,只留最核心部分代码。
简化到最简单,同时又能反映你的问题。
读别人代码是很费时间的事情。

好的,第一次发帖不好意思

发自小木虫Android客户端
10楼2015-10-09 09:43:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 13143747 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 哈尔滨工业大学韩晓军教授课题组招收2027年硕士推免生及博士研究生 +3 灯灯灯灯DDDD 2026-09-03 3/150 2026-09-03 21:22 by 科研皮皮猪
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 20:40 by jyNB2vrbdUpR
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 20:31 by jyNB2vrbdUpR
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 uFOAtb1CDngh 2026-09-02 9/450 2026-09-03 20:20 by jyNB2vrbdUpR
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 ero8OE6tv9cu 2026-09-02 5/250 2026-09-03 20:09 by jyNB2vrbdUpR
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ero8OE6tv9cu 2026-09-02 9/450 2026-09-03 20:07 by jyNB2vrbdUpR
[基金申请] 面上没中,邀请各位路过的虫友分析一下分数 +3 jackleilei 2026-09-03 3/150 2026-09-03 19:13 by god_tian
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 YLHlRHNwYkce 2026-09-02 11/550 2026-09-03 18:42 by jyNB2vrbdUpR
[基金申请] 国社科又开始会评了,不知道这次命运如何 +10 雨打竹帘 2026-08-30 14/700 2026-09-03 13:17 by qsd10086
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 12:03 by T0rGB46095mJ
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +8 gdd2018 2026-08-28 13/650 2026-09-03 06:22 by 羽毛枫f
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +7 瞬息宇宙 2026-09-01 14/700 2026-09-02 17:33 by ma0526
[基金申请] 学科评审组评审是指会评吗? +5 瞬息宇宙 2026-08-31 5/250 2026-09-02 10:13 by 雨冰共舞
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
信息提示
请填处理意见