help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Signal PKG] limited slope


From: Ozzy Lash
Subject: Re: [Signal PKG] limited slope
Date: Sun, 17 Dec 2017 21:05:59 -0600



On Sun, Dec 17, 2017 at 1:13 PM, Renato S. Yamane <address@hidden> wrote:
2017-12-17 18:48 GMT+01:00 Robert T. Short <address@hidden>:
> On 12/16/2017 06:25 AM, Renato S. Yamane wrote:
>> 2017-12-15 16:34 GMT+01:00 Robert T. Short
>>> On 12/15/2017 12:27 AM, Renato S. Yamane wrote:
>>>> 2017-12-14 20:25 GMT+01:00 Robert T. Short
>>>>> On 12/13/2017 11:39 PM, Renato S. Yamane wrote:
>>>>>>
>>>>>> Please, see the frequency response on image available in:
>>>>>> https://ibb.co/cgwOqG
>>>>>>
>>>>>> Detail: when I use a crest factor of 12dB instead 6dB, I don´t have
>>>>>> this problem.
>>>>>>
>>>>>> ==============
>>>>>> pkg load signal;
>>>>>> pkg load ltfat;
>>>>>>
>>>>>> sampling_rate = 44100;
>>>>>> lenght = 30;
>>>>>> hpf = 400;
>>>>>> lpf = 4000;
>>>>>> crest_factor = 6;
>>>>>>
>>>>>> typenoise = noise((lenght)*sampling_rate, 1, 'pink');
>>>>>> [b,a] = butter(2, [hpf/(sampling_rate/2), lpf/(sampling_rate/2)]);
>>>>>> filtered = filter(b, a, typenoise);
>>>>>> filtered = filtered / (rms(filtered) / 10^(-crest_factor/20));
>>>>>> audiowrite ('signal.wav', filtered, 44100);
>>>>>> ==============
>>>>>
>>>>>
>>>>> I don't get the same spectral plots you show here.  My results are much
>>>>> more
>>>>> like your "expected" slope.
>>>>
>>>>
>>>> Wowww!
>>>> Can you tell me how you plot it? Just to be possible I make the same
>>>> check here in my side...
>>>
>>>
>>> Well, I used a Welch's method estimator to get the spectral density.  I
>>> used
>>> a Hamming window, but just about any window should do.  I didn't use any
>>> overlap.  There is such an estimator as part of octave.  Then I just
>>> plotted
>>> it.  I did a semilogx just like you did and only for frequencies > 1Hz.
>>
>>
>> Sorry, but can you help me with this "coding" that you did?
>>
>>
> [Tn,f] = pwelch(typenoise, hamming(2^12));
> [Fn,f] = pwelch(filtered, hamming(2^12));
>
> idx = f>0;
> figure(1);
> semilogx(f(idx),10*log10(Tn(idx)));
> figure(2);
> semilogx(f(idx),10*log10(Fn(idx)));
>
> If I am interpreting audiowrite correctly, it expects a max absolute value of unity and your signal is much greater than that.  I think you are clipping the snot out of the signal in the audio file.

Hi Robert, your graph have the same problem than mine.
The attenuation stops in low frequency and keep limited.
Please, take a look: https://ibb.co/h20qVR
Regarding the clipping. Yes, it´s true, it´s clipping, but I need to
solve the problem of the attenuation on low frequencies first.

Have a good day!
Renato

_______________________________________________
Help-octave mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-octave


Looking at figure 1 from Robert's plot, it seems to me that the pink noise input has a steeper slope at low frequency and isn't following the 1/f pattern for low frequency.  This corresponds to where the slope deviates from the expected.

Bill

reply via email to

[Prev in Thread] Current Thread [Next in Thread]