Csound Csound-dev Csound-tekno Search About

DC offset

Date2016-03-03 14:15
FromPeter Burgess
SubjectDC offset
Hi, I've just been trying out a variety of EQ and BR filters. I've
been examining the results in audacity, because the EQs and BRs aren't
quite giving me the results I expected. It would seem that they all
cause some serious DC offset. I've also tried a few of the
butterworths and got the same results.

Is this normal for filters?

ps, DCBlock opcodes don't seem to be concerned about the offset, and
refuse to fix it. Even if I create a much bigger offset artificially,
DCBlock will fix the artificial offset, and keep the offset caused by
the filter. How does it do that?!? Lol!

Pete

Date2016-03-03 14:30
FromOeyvind Brandtsegg
SubjectRe: DC offset
This does not sound normal, do you have an example csd that produce
this artifact?

2016-03-03 15:15 GMT+01:00 Peter Burgess :
> Hi, I've just been trying out a variety of EQ and BR filters. I've
> been examining the results in audacity, because the EQs and BRs aren't
> quite giving me the results I expected. It would seem that they all
> cause some serious DC offset. I've also tried a few of the
> butterworths and got the same results.
>
> Is this normal for filters?
>
> ps, DCBlock opcodes don't seem to be concerned about the offset, and
> refuse to fix it. Even if I create a much bigger offset artificially,
> DCBlock will fix the artificial offset, and keep the offset caused by
> the filter. How does it do that?!? Lol!
>
> Pete
>
> --
> http://algorythmradio.com
> https://soundcloud.com/algorythmradio
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here


Date2016-03-03 14:32
FromOeyvind Brandtsegg
SubjectRe: DC offset
-- I mean, it is *highly* unlikely that a butterworth filter should
produce a DC offset. And since a DC remover does not touch the
artifact you get, maybe it is something else that is happening? How do
you notice that the artifact is there?

2016-03-03 15:30 GMT+01:00 Oeyvind Brandtsegg :
> This does not sound normal, do you have an example csd that produce
> this artifact?
>
> 2016-03-03 15:15 GMT+01:00 Peter Burgess :
>> Hi, I've just been trying out a variety of EQ and BR filters. I've
>> been examining the results in audacity, because the EQs and BRs aren't
>> quite giving me the results I expected. It would seem that they all
>> cause some serious DC offset. I've also tried a few of the
>> butterworths and got the same results.
>>
>> Is this normal for filters?
>>
>> ps, DCBlock opcodes don't seem to be concerned about the offset, and
>> refuse to fix it. Even if I create a much bigger offset artificially,
>> DCBlock will fix the artificial offset, and keep the offset caused by
>> the filter. How does it do that?!? Lol!
>>
>> Pete
>>
>> --
>> http://algorythmradio.com
>> https://soundcloud.com/algorythmradio
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
>
> --
>
> Oeyvind Brandtsegg
> Professor of Music Technology
> NTNU
> 7491 Trondheim
> Norway
> Cell: +47 92 203 205
>
> http://www.partikkelaudio.com/
> http://soundcloud.com/brandtsegg
> http://flyndresang.no/
> http://soundcloud.com/t-emp


Date2016-03-03 14:51
FromPeter Burgess
SubjectRe: DC offset
AttachmentsdcOffset.csd  Screenshot from 2016-03-03 14:49:33.png  
I could be wrong about the cause, but there is an off centred peak in
the waveform post filtering, that is not there before.

I have attached an example that includes the use of buthp and eqfil,
though I have also tested rbjeq, pareq and butbr.

I have also attached a screenshot of the unfiltered and filtered
waveforms in audacity

Pete

On Thu, Mar 3, 2016 at 2:32 PM, Oeyvind Brandtsegg
 wrote:
> -- I mean, it is *highly* unlikely that a butterworth filter should
> produce a DC offset. And since a DC remover does not touch the
> artifact you get, maybe it is something else that is happening? How do
> you notice that the artifact is there?
>
> 2016-03-03 15:30 GMT+01:00 Oeyvind Brandtsegg :
>> This does not sound normal, do you have an example csd that produce
>> this artifact?
>>
>> 2016-03-03 15:15 GMT+01:00 Peter Burgess :
>>> Hi, I've just been trying out a variety of EQ and BR filters. I've
>>> been examining the results in audacity, because the EQs and BRs aren't
>>> quite giving me the results I expected. It would seem that they all
>>> cause some serious DC offset. I've also tried a few of the
>>> butterworths and got the same results.
>>>
>>> Is this normal for filters?
>>>
>>> ps, DCBlock opcodes don't seem to be concerned about the offset, and
>>> refuse to fix it. Even if I create a much bigger offset artificially,
>>> DCBlock will fix the artificial offset, and keep the offset caused by
>>> the filter. How does it do that?!? Lol!
>>>
>>> Pete
>>>
>>> --
>>> http://algorythmradio.com
>>> https://soundcloud.com/algorythmradio
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>>
>>
>> --
>>
>> Oeyvind Brandtsegg
>> Professor of Music Technology
>> NTNU
>> 7491 Trondheim
>> Norway
>> Cell: +47 92 203 205
>>
>> http://www.partikkelaudio.com/
>> http://soundcloud.com/brandtsegg
>> http://flyndresang.no/
>> http://soundcloud.com/t-emp
>
>
>
> --
>
> Oeyvind Brandtsegg
> Professor of Music Technology
> NTNU
> 7491 Trondheim
> Norway
> Cell: +47 92 203 205
>
> http://www.partikkelaudio.com/
> http://soundcloud.com/brandtsegg
> http://flyndresang.no/
> http://soundcloud.com/t-emp
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here



-- 
http://algorythmradio.com
https://soundcloud.com/algorythmradio

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-03-03 21:51
FromOeyvind Brandtsegg
SubjectRe: DC offset
Yes, ok, I see what you noticed. And it is an interesting observaion. Now:
Both of the filters in your csd are effectively high pass (also the
eqfil since it is removing a band of 50 Hz centered at 50 Hz). It is
the nature of highpass filtering that what remains after filtering are
the parts of the signal that changes abruptly. In your input signal,
we have a sudden positive change followed by a smooth descent from +1
down to -1, then again a sudden positive change to start the cycle
over again. When this is high pass filtered, the main part remaining
is the abrupt positive change.
With the simplest possible highpass filter, it is easier to see:

aosc vco2 0.4, icps1, 0
adel1 delay1 aosc
aout = aosc-adel1

So the positive spikes in your signal comes from the specific nature
of the input signal. If the input signal had sudden changes in both
positive and negative direction, the filtered signal would also have
this. And finally, since you have already highpassed the signal, there
is by definition no DC to remove, since DC is energy at 0Hz and this
will already be gone with the highpass filtering.

Summing up, it works as it should :-)



2016-03-03 15:51 GMT+01:00 Peter Burgess :
> I could be wrong about the cause, but there is an off centred peak in
> the waveform post filtering, that is not there before.
>
> I have attached an example that includes the use of buthp and eqfil,
> though I have also tested rbjeq, pareq and butbr.
>
> I have also attached a screenshot of the unfiltered and filtered
> waveforms in audacity
>
> Pete
>
> On Thu, Mar 3, 2016 at 2:32 PM, Oeyvind Brandtsegg
>  wrote:
>> -- I mean, it is *highly* unlikely that a butterworth filter should
>> produce a DC offset. And since a DC remover does not touch the
>> artifact you get, maybe it is something else that is happening? How do
>> you notice that the artifact is there?
>>
>> 2016-03-03 15:30 GMT+01:00 Oeyvind Brandtsegg :
>>> This does not sound normal, do you have an example csd that produce
>>> this artifact?
>>>
>>> 2016-03-03 15:15 GMT+01:00 Peter Burgess :
>>>> Hi, I've just been trying out a variety of EQ and BR filters. I've
>>>> been examining the results in audacity, because the EQs and BRs aren't
>>>> quite giving me the results I expected. It would seem that they all
>>>> cause some serious DC offset. I've also tried a few of the
>>>> butterworths and got the same results.
>>>>
>>>> Is this normal for filters?
>>>>
>>>> ps, DCBlock opcodes don't seem to be concerned about the offset, and
>>>> refuse to fix it. Even if I create a much bigger offset artificially,
>>>> DCBlock will fix the artificial offset, and keep the offset caused by
>>>> the filter. How does it do that?!? Lol!
>>>>
>>>> Pete
>>>>
>>>> --
>>>> http://algorythmradio.com
>>>> https://soundcloud.com/algorythmradio
>>>>
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>         https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>>
>>>
>>> --
>>>
>>> Oeyvind Brandtsegg
>>> Professor of Music Technology
>>> NTNU
>>> 7491 Trondheim
>>> Norway
>>> Cell: +47 92 203 205
>>>
>>> http://www.partikkelaudio.com/
>>> http://soundcloud.com/brandtsegg
>>> http://flyndresang.no/
>>> http://soundcloud.com/t-emp
>>
>>
>>
>> --
>>
>> Oeyvind Brandtsegg
>> Professor of Music Technology
>> NTNU
>> 7491 Trondheim
>> Norway
>> Cell: +47 92 203 205
>>
>> http://www.partikkelaudio.com/
>> http://soundcloud.com/brandtsegg
>> http://flyndresang.no/
>> http://soundcloud.com/t-emp
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
>
> --
> http://algorythmradio.com
> https://soundcloud.com/algorythmradio
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here


Date2016-03-03 22:54
FromPeter Burgess
SubjectRe: DC offset
Ok, I get what you're saying, thanks! I suppose DC offset was the
wrong term, it's just an element of the signal that's not symmetrical
around 0, which I suppose means that I shouldn't have expected the DC
block to do anything, like you said :)

I did think it was weird that filters I've used alot were all causing
a problem that I'd never noticed before. I will re-examine my
implementation. I don't need 50Hz bw for my 50Hz EQ filter, that was
just to help me figure something out, so I will calm the range down ;)

Thanks for your help!

On Thu, Mar 3, 2016 at 9:51 PM, Oeyvind Brandtsegg
 wrote:
> Yes, ok, I see what you noticed. And it is an interesting observaion. Now:
> Both of the filters in your csd are effectively high pass (also the
> eqfil since it is removing a band of 50 Hz centered at 50 Hz). It is
> the nature of highpass filtering that what remains after filtering are
> the parts of the signal that changes abruptly. In your input signal,
> we have a sudden positive change followed by a smooth descent from +1
> down to -1, then again a sudden positive change to start the cycle
> over again. When this is high pass filtered, the main part remaining
> is the abrupt positive change.
> With the simplest possible highpass filter, it is easier to see:
>
> aosc vco2 0.4, icps1, 0
> adel1 delay1 aosc
> aout = aosc-adel1
>
> So the positive spikes in your signal comes from the specific nature
> of the input signal. If the input signal had sudden changes in both
> positive and negative direction, the filtered signal would also have
> this. And finally, since you have already highpassed the signal, there
> is by definition no DC to remove, since DC is energy at 0Hz and this
> will already be gone with the highpass filtering.
>
> Summing up, it works as it should :-)
>
>
>
> 2016-03-03 15:51 GMT+01:00 Peter Burgess :
>> I could be wrong about the cause, but there is an off centred peak in
>> the waveform post filtering, that is not there before.
>>
>> I have attached an example that includes the use of buthp and eqfil,
>> though I have also tested rbjeq, pareq and butbr.
>>
>> I have also attached a screenshot of the unfiltered and filtered
>> waveforms in audacity
>>
>> Pete
>>
>> On Thu, Mar 3, 2016 at 2:32 PM, Oeyvind Brandtsegg
>>  wrote:
>>> -- I mean, it is *highly* unlikely that a butterworth filter should
>>> produce a DC offset. And since a DC remover does not touch the
>>> artifact you get, maybe it is something else that is happening? How do
>>> you notice that the artifact is there?
>>>
>>> 2016-03-03 15:30 GMT+01:00 Oeyvind Brandtsegg :
>>>> This does not sound normal, do you have an example csd that produce
>>>> this artifact?
>>>>
>>>> 2016-03-03 15:15 GMT+01:00 Peter Burgess :
>>>>> Hi, I've just been trying out a variety of EQ and BR filters. I've
>>>>> been examining the results in audacity, because the EQs and BRs aren't
>>>>> quite giving me the results I expected. It would seem that they all
>>>>> cause some serious DC offset. I've also tried a few of the
>>>>> butterworths and got the same results.
>>>>>
>>>>> Is this normal for filters?
>>>>>
>>>>> ps, DCBlock opcodes don't seem to be concerned about the offset, and
>>>>> refuse to fix it. Even if I create a much bigger offset artificially,
>>>>> DCBlock will fix the artificial offset, and keep the offset caused by
>>>>> the filter. How does it do that?!? Lol!
>>>>>
>>>>> Pete
>>>>>
>>>>> --
>>>>> http://algorythmradio.com
>>>>> https://soundcloud.com/algorythmradio
>>>>>
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>         https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Oeyvind Brandtsegg
>>>> Professor of Music Technology
>>>> NTNU
>>>> 7491 Trondheim
>>>> Norway
>>>> Cell: +47 92 203 205
>>>>
>>>> http://www.partikkelaudio.com/
>>>> http://soundcloud.com/brandtsegg
>>>> http://flyndresang.no/
>>>> http://soundcloud.com/t-emp
>>>
>>>
>>>
>>> --
>>>
>>> Oeyvind Brandtsegg
>>> Professor of Music Technology
>>> NTNU
>>> 7491 Trondheim
>>> Norway
>>> Cell: +47 92 203 205
>>>
>>> http://www.partikkelaudio.com/
>>> http://soundcloud.com/brandtsegg
>>> http://flyndresang.no/
>>> http://soundcloud.com/t-emp
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>>
>>
>> --
>> http://algorythmradio.com
>> https://soundcloud.com/algorythmradio
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
>
> --
>
> Oeyvind Brandtsegg
> Professor of Music Technology
> NTNU
> 7491 Trondheim
> Norway
> Cell: +47 92 203 205
>
> http://www.partikkelaudio.com/
> http://soundcloud.com/brandtsegg
> http://flyndresang.no/
> http://soundcloud.com/t-emp
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here