IPB

Welcome Guest ( Log In | Register )

> Upload forum rules

- No over 30 sec clips of copyrighted music. Cite properly and never more than necessary for the discussion.


- No copyrighted software without permission.


- Click here for complete Hydrogenaudio Terms of Service

 
Reply to this topicStart new topic
Mustang lowpass test, Using a cosine filter
bug80
post Aug 21 2005, 22:14
Post #1





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



pio2001 mentioned in this topic, that the famous "mustang" lowpass test suffers from ringing, due to the use of brickwall lowpass filters.

Therefore, I took the original mustang.flac and filtered it myself, using a cosine filter with a width of 1 kHz. So, if the lowpass is set at 14 kHz, the actual filter will gradually go from one to zero in the band 13.5 - 14.5 kHz with a cosine shape, with the -6 dB point at 14 kHz.

This will have the effect, that frequencies higher than the "lowpass" frequency are present, but it will reduce ringing (something on which people may be able to ABX the samples on, instead of the actual filtering).

I've made an 10, 12, 14, 16 and 18 kHz version (for testing, I've uploaded the 10 and 14 versions). Let me know if this helps. smile.gif

EDIT: I've accidently hit the Post New Topic button two times, the two topic without the 3 samples can be removed. Sorry for the inconvenience

This post has been edited by bug80: Aug 22 2005, 18:33
Attached File(s)
Attached File  mustang.flac ( 522.19K ) Number of downloads: 499
Attached File  mustang_10kHz_smooth.flac ( 484.11K ) Number of downloads: 438
Attached File  mustang_14kHz_smooth.flac ( 524.76K ) Number of downloads: 535
 
Go to the top of the page
+Quote Post
ff123
post Aug 21 2005, 22:20
Post #2


ABC/HR developer, ff123.net admin


Group: Developer (Donating)
Posts: 1396
Joined: 24-September 01
Member No.: 12



Applaud.wav (search for it on this page):

http://lame.sourceforge.net/gpsycho/quality.html

is probably an even better sample if you just want to know how high you can hear with natural sounds.

ff123
Go to the top of the page
+Quote Post
bug80
post Aug 21 2005, 22:24
Post #3





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



QUOTE (ff123 @ Aug 21 2005, 11:20 PM)
Applaud.wav (search for it on this page):

http://lame.sourceforge.net/gpsycho/quality.html

is probably an even better sample if you just want to know how high you can hear with natural sounds.

ff123
*

Thanks, I can make lowpass versions if wanted.

Can anyone comment on my choice for the width of the window? Is 1 kHz maybe too high or too low?
Go to the top of the page
+Quote Post
SebastianG
post Aug 22 2005, 12:19
Post #4





Group: Developer
Posts: 1318
Joined: 20-March 04
From: Göttingen (DE)
Member No.: 12875



I think this is okay. How did you design the filter ?

I simply would have done a windowed sinc filter with a blackman window. This can be done in Cool Edit too by "drawing" a brickwall filter and selecting am FFT size of something like 256 to prevent exessive ringing.

Maybe it'd be interesting to test a minimum phase filter as well or something "in-between" like this impulse response (transition 15-15.5 kHz)

Sebi
Go to the top of the page
+Quote Post
Shade[ST]
post Aug 22 2005, 13:33
Post #5





Group: Members
Posts: 1189
Joined: 19-May 05
From: Montreal, Canada
Member No.: 22144



Either cosine or brickwall, I can still ABX 16/16 for 14KHz.. But I can't tell the difference from the other filter, really, though (must mean I'm not trained for artifacts..)
Go to the top of the page
+Quote Post
Pio2001
post Aug 22 2005, 18:39
Post #6


Moderator


Group: Super Moderator
Posts: 3936
Joined: 29-September 01
Member No.: 73



QUOTE (Shade[ST] @ Aug 22 2005, 02:33 PM)
Either cosine or brickwall, I can still ABX 16/16 for 14KHz.. But I can't tell the difference from the other filter, really, though (must mean I'm not trained for artifacts..)
*


How can you ABX cosine versus brickwall at 14 kHz while the number of downloads for the cosine file is zero blink.gif
Go to the top of the page
+Quote Post
bug80
post Aug 22 2005, 18:50
Post #7





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



QUOTE (SebastianG @ Aug 22 2005, 01:19 PM)
I think this is okay. How did you design the filter ?

Pretty straightforward, using Matlab. For example, the filter for 15 kHz is equal to 1 from DC up to 14.5 kHz, is zero from 15.5 kHz to the Nyquist frequency and in between it has a

0.5*(1+cos(pi*x/N))

shape. See the figure below, where you can see both the frequency domain and the (minimum phased) time domain version.



Compare this with a brickwall filter and you see that the effective length of the FIR filter is higher:



QUOTE
Maybe it'd be interesting to test a minimum phase filter as well or something "in-between" like this impulse response (transition 15-15.5 kHz)


I've made a figure of this filter also (I've done a minimum phase operation first)



Looks good. I've applied both "my" 15 kHz filter and your filter24 on the mustang sample, the results are attached to this post. smile.gif

By the way. I've made a mistake when filtering the samples in my first post (the cosine filter was applied in the band f-500 to f+1000 Hz, instead of f-500 to f+500 Hz). So, I've uploaded new versions. smile.gif
Attached File(s)
Attached File  mustang_15kHz_smooth.flac ( 532.64K ) Number of downloads: 312
Attached File  mustang_15kHz_filter24.flac ( 532.84K ) Number of downloads: 294
 
Go to the top of the page
+Quote Post
bug80
post Aug 22 2005, 18:51
Post #8





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



QUOTE (Pio2001 @ Aug 22 2005, 07:39 PM)
QUOTE (Shade[ST)
,Aug 22 2005, 02:33 PM]Either cosine or brickwall, I can still ABX 16/16 for 14KHz.. But I can't tell the difference from the other filter, really, though (must mean I'm not trained for artifacts..)
*


How can you ABX cosine versus brickwall at 14 kHz while the number of downloads for the cosine file is zero blink.gif
*


I've posted new versions biggrin.gif
Go to the top of the page
+Quote Post
Pio2001
post Aug 22 2005, 18:59
Post #9


Moderator


Group: Super Moderator
Posts: 3936
Joined: 29-September 01
Member No.: 73



The files are OK.
I can ABX 10 kHz smoothed vs 10 kHz brickwall relying on the ringing (17/17), and I can't ABX 14 kHz brickwall vs 14 kHz smoothed. Which is consistent with the fact that I can't ABX 14 kHz brickwall vs original.
Go to the top of the page
+Quote Post
bug80
post Aug 22 2005, 19:14
Post #10





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



I'm able to ABX up to 17 kHz (result 12/16, for the first 8 trials I used my headphones, the second 8 trials using my speakers. Using my speakers, I got a 8/8 score).

Here is the 17 kHz sample.
Attached File(s)
Attached File  mustang_17kHz_smooth.flac ( 547.09K ) Number of downloads: 313
 
Go to the top of the page
+Quote Post
Lyx
post Aug 22 2005, 19:19
Post #11





Group: Members
Posts: 3353
Joined: 6-July 03
From: Sachsen (DE)
Member No.: 7609



QUOTE (bug80 @ Aug 22 2005, 08:14 PM)
I'm able to ABX up to 17 kHz (result 12/16, for the first 8 trials I used my headphones, the second 8 trials using my speakers. Using my speakers, I got a 8/8 score).
*

ohmy.gif
Out of curiosity - where is your objective hearing-cutoff, when testing it with unnatural sounds(sine-wave) ?

This post has been edited by Lyx: Aug 22 2005, 19:20


--------------------
I am arrogant and I can afford it because I deliver.
Go to the top of the page
+Quote Post
SebastianG
post Aug 22 2005, 19:20
Post #12





Group: Developer
Posts: 1318
Joined: 20-March 04
From: Göttingen (DE)
Member No.: 12875



QUOTE (bug80 @ Aug 22 2005, 06:50 PM)
Pretty straightforward, using Matlab. For example, the filter for 15 kHz is equal to 1 from DC up to 14.5 kHz, is zero from 15.5 kHz to the Nyquist frequency and in between it has a

0.5*(1+cos(pi*x/N))

shape. See the figure below, where you can see both the frequency domain and the (minimum phased) time domain version.
*

And then ? Yulewalker ?

I simply did something like this to get "filter24"
> [b,a] = ellip(n,0.05,35,cutoff); // minimum phase IIR elliptic lowpass
> i1 = zeros(1,3000);
> i1(1000) = 1; // unit impulse
> i2 = filtfilt(b,a,i1); // bidirectionally applied -> zero phase
> i3 = filter(b,a,i2); // and forwards only additionally
> wavwrite(i3(range),....)

I don't remember the actual values of 'n' and 'cutoff' (Probably n=6 and cutoff=14.5/22.05) but this gives you a filter with 0.15 dB passpand ripples and 105 dB stopband attenuation. It's neither minimum phase nor linear phase (sort of a trade-off, a good one i think).

btw: I didn't know you are already using minimum phase filters.

I guess, I'll do some ABXing tonight. smile.gif


Sebi
Go to the top of the page
+Quote Post
bug80
post Aug 22 2005, 19:42
Post #13





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



QUOTE (Lyx @ Aug 22 2005, 08:19 PM)
QUOTE (bug80 @ Aug 22 2005, 08:14 PM)
I'm able to ABX up to 17 kHz (result 12/16, for the first 8 trials I used my headphones, the second 8 trials using my speakers. Using my speakers, I got a 8/8 score).
*

ohmy.gif
Out of curiosity - where is your objective hearing-cutoff, when testing it with unnatural sounds(sine-wave) ?
*


I don't know actually, it's a long time ago an audiogram was made for my ears. So, I've just performed a quick-and-dirty test, using sine waves I've created in Matlab (length 3 sec). I gave the sine waves an amplitude of -3 dB to avoid any clipping (and thus to avoid extra harmonics). I've set my hi-fi set at a normal listening volume.

The frequencies I tested where 16 kHz to 19 kHz, in steps of 500 Hz. I could hear the waves up to 18.5 kHz (very, very softly).

To really convince myself, I ABXed this wave against silence smile.gif The sine wave was windowed using a Hann window to avoid start/end effects. I forced myself to chose before the sample ended, because the ABX plugin of foobar2000 gives a click once the sine sample stopped.

The ABX result was 7/8.

I could ABX the 18 kHz with a 8/8 result.

edit: and now I'm having a headache. dry.gif

This post has been edited by bug80: Aug 22 2005, 19:57
Go to the top of the page
+Quote Post
bug80
post Aug 22 2005, 19:54
Post #14





Group: Members
Posts: 403
Joined: 23-January 05
From: The Netherlands
Member No.: 19254



QUOTE (SebastianG @ Aug 22 2005, 08:20 PM)
And then ? Yulewalker ?


No, I expanded the frequency domain to get negative frequencies also (F(omega) = conj(F(-omega)), I have a special toolbox for that kind of operations). After that I created a minum phase version using the rceps command. Finally, I transformed back to the frequency domain and filtered using:

Y(w) = F(w)X(w)

(frequency domain convolution).

QUOTE
I simply did something like this to get "filter24"
> [b,a] = ellip(n,0.05,35,cutoff); // minimum phase IIR elliptic lowpass
> i1 = zeros(1,3000);
> i1(1000) = 1; // unit impulse
> i2 = filtfilt(b,a,i1);  // bidirectionally applied -> zero phase
> i3 = filter(b,a,i2); // and forwards only additionally
> wavwrite(i3(range),....)

I don't remember the actual values of 'n' and 'cutoff' (Probably n=6 and cutoff=14.5/22.05) but this gives you a filter with 0.15 dB passpand ripples and 105 dB stopband attenuation. It's neither minimum phase nor linear phase (sort of a trade-off, a good one i think).

That certainly looks more official. smile.gif

QUOTE
I guess, I'll do some ABXing tonight. smile.gif

If you'd like to use my samples, you can find them here in the range 14 to 19 kHz.
Go to the top of the page
+Quote Post
SebastianG
post Aug 23 2005, 14:18
Post #15





Group: Developer
Posts: 1318
Joined: 20-March 04
From: Göttingen (DE)
Member No.: 12875



I did some ABXing with my own set of lowpass filters + Foobar2K + Convolver plugin.

Results:
delay-only vs. 14 kHz lowpass: 12/12
delay-only vs. 15 kHz lowpass: 12/12
delay-only vs. 16 kHz lowpass: 4/8

(delay-only is a delayed version of the original to compensate for the filters delay)


Sebi
Go to the top of the page
+Quote Post
Shade[ST]
post Aug 23 2005, 14:26
Post #16





Group: Members
Posts: 1189
Joined: 19-May 05
From: Montreal, Canada
Member No.: 22144



QUOTE (Pio2001 @ Aug 22 2005, 11:39 AM)
How can you ABX cosine versus brickwall at 14 kHz while the number of downloads for the cosine file is zero  blink.gif
*

Isn't the cosine-filtered version what bug80 posted at the top? And the brickwall what's available on ff123?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 29th December 2014 - 13:42