通过白噪声的频谱处理产生任意光谱斜率(f^a)噪声(Matlab代码实现)

简介: 通过白噪声的频谱处理产生任意光谱斜率(f^a)噪声(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Matlab代码及文章讲解


💥1 概述

文献来源:


39c881ef273841868c250e38098b343c.png


摘要:本文研究了具有任意谱斜率的幂律彩色数字噪声信号(序列)的生成。首先,简要介绍了一些噪声特征的背景信息。在此基础上,提出了一种基于白噪声信号的产生、频域变换、频谱处理和逆变换回时域的方法。进行了计算机模拟以确认算法的一致性,包括功率谱密度的估计和自相关性,以及与相应的内置Matlab®函数相比其优异性能的示例。


关键词:彩色噪声,粉色噪声,红色噪声,蓝色噪声,紫色噪声,生成


原文摘要:


Abstract: - The present paper addresses the generation of power-law, colored digital noise signals (sequences) with arbitrary spectral slope. In the beginning, brief background information is given about some noise features. Further, a newly proposed method is described, based on generation of a white noise signal, its transformation into the frequency domain, spectral processing and inverse transform back into the time domain. Computer simulations are performed to confirm the consistency of the algorithm, including estimation of the power spectral density and the autocorrelation, along with example of its outperformance in comparison with the corresponding in-built Matlab® function.

Keywords: - colored noise, pink noise, red noise, blue noise, violet noise, generation


本代码是一个 Matlab 函数,可提供具有任意功率谱密度 (PSD) 斜率 f^a 的噪声信号生成。例如:


1)白噪声:a = 0;


2)粉红噪声:a = −1;


3)红噪声:a = −2;


4)蓝噪声:a = +1;


5)紫罗兰噪声:a = +2。


为了阐明函数的用法,给出了两个示例。为方便起见,输入和输出参数在函数的开头给出。产生的噪声信号具有单位标准差和零平均值。


📚2 运行结果


3a6f1f68e10c433ba270d268f6152f5d.png

3e29afec2174403c8dabfed66d5b7c20.png


部分代码:

% function: x = arbssnoise(N, alpha) 
%
% Input:
% N - number of samples to be returned in the noise column vector
% alpha - PSD spectral slope
% 
% Output:
% x - column vector of noise samples with unity  
%     standard deviation and zero mean value 
%
% For instance:
% black noise   -> alpha < -2,  PSD slope < -20 dB/dec;
% red noise     -> alpha = -2,  PSD slope = -20 dB/dec;
% pink noise    -> alpha = -1,     PSD slope = -10 dB/dec;
% white noise   -> alpha = 0,   PSD slope = 0 dB/dec;
% blue noise    -> alpha = +1,  PSD slope = 10 dB/dec;   
% violet noise  -> alpha = +2,  PSD slope = 20 dB/dec;
function x = arbssnoise(N, alpha)
% input validation
validateattributes(N, {'double'}, ...
                      {'scalar', 'integer', 'nonnan', 'finite'}, ...
                      '', 'N', 1)
validateattributes(alpha, {'double'}, ...
                          {'scalar', 'real', 'nonnan', 'finite'}, ...
                          '', 'alpha', 2)
% convert from PSD (power specral density) slope 
% to ASD (amplitude spectral density) slope
alpha = alpha/2;
% generate AWGN signal
x = randn(1, N);
% calculate the number of unique fft points
NumUniquePts = ceil((N+1)/2);
% take fft of x
X = fft(x);
% fft is symmetric, throw away the second half
X = X(1:NumUniquePts);
% prepare a vector with frequency indexes 
n = 1:NumUniquePts;
% manipulate the left half of the spectrum so the spectral 
% amplitudes are proportional to the frequency by factor f^alpha
X = X.*(n.^alpha);
% perform ifft
if rem(N, 2)    % odd N excludes Nyquist point 
    % reconstruct the whole spectrum
    X = [X conj(X(end:-1:2))];
    % take ifft of X
    x = real(ifft(X));   
else            % even N includes Nyquist point  
    % reconstruct the whole spectrum
    X = [X conj(X(end-1:-1:2))];
    % take ifft of X
    x = real(ifft(X));  


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1] H. Zhivomirov. A Method for Colored Noise Generation. Romanian Journal of Acoustics and Vibration, ISSN: 1584-7284, Vol. XV, No. 1, pp. 14-19, 2018.


🌈4 Matlab代码及文章讲解


相关文章
|
8天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
8天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
8天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
8天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
8天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
8天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
8天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
8天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
8天前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)

热门文章

最新文章