• 网志分类
  • » 查看所有日志 (553)
    » 杂记 (108)
    » VC (33)
    » 工控 (7)
    » FPGA (88)
    » Matlab (196)
    » 数值计算 (18)
    » 其他学习 (51)
    » 个人简介 (10)
    » 私人空间 (18)
    » 四方朋友 (11)
    » MATLAB好书推荐 (7)
    » 被遗忘的角落 (6)
  • 站内搜索
  • 友情链接
  • » 我的歪酷 非非共享界
    » 爸妈网
    » 醒醒
    » 圈圈
    » 一溜烟儿
    » 亚丁小屋
    » EDA专业论坛
    » 哈工大萝卜驿站
    » 王茜英语在线翻译
    » 仿真论坛MATLAB板
    » 研学之路-混沌序列建模
    » mathworks的文件交换站
    » MATLAB M-Files DataBase
    » mathtools.net
    » Kernel Machines
    » MATLAB ToolBox
    » Boosting Research
    » Chih-Jen Lin's Libsvm
    » Support vector machine
    » mathworks/support/product/
    » http://www.sciencedirect.com

    订阅 RSS

    歪酷博客

    0808949

    « 上一篇: 有关图像的一个问题 下一篇: 优化工具箱函数目标函数附加参数传递方法小结 »
    山城棒棒儿军 @ 2004-09-24 11:40

    标  题: 用MATLAB来生成有色噪声
    发信站: 哈工大紫丁香 (2001年07月12日17:13:53 星期四), 站内信件


    rand产生的是白噪声,那么有色噪声如何产生的呢?
    这是从清华转过来的一个m文件。

    FFT变幻然后IFFT变幻

    function sig=FractRnd(beta,k,HuaTu)
    %sig=FractRnd(beta,k,HuaTu)
    %To generate 1/f^betta noise
    %INPUT
    %    beta is the exponent, a number
    %    k is the number of synthetic data points
    %OUTPUT
    %    sig is a k-point array
    %
    if nargin==2
      HuaTu=0;
    end
    len_beta=length(beta);
    phi_k=2*pi*rand(1,k);
    f=[1:k].^(-beta/2).*exp(i*phi_k(1:k));
    sig=real(ifft(f));
    sig=(sig-mean(sig))./std(sig);
    if HuaTu
      %To verify the scaling behavior of power spectral density:
      %  P(f) ~ 1/f^beta
      figure(HuaTu)
      F=fft(sig);
      P=(abs(F)).^2;
      P([1,round(end/2):end])=[];
      %      plot(log(1:length(P)),log(P))
      loglog(1:length(P),P,'k')
      xlabel('Frequency');
      ylabel('Power spectrum')
      %      pause
    end


    最新评论


    george_117

    2006-05-17 10:15

    好象有几个地方不对啊


    评论 / 个人网页 / 扔小纸条
    *昵称

    已经注册过? 请登录

    Email
    网址
    *评论