A different speaker testing method

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi,

just found this thread.

I'm the developer of the open-source project esweep (Andrew (anli) knows me) and I'm using logarithmic sweep. esweep is written in ANSI-C, so it is highly portable (using portaudio on many platforms, development platform is OpenBSD with a native Interface). The main focus is the scriptability of the application. I provide signal generators, fft, (de)convolution and many more. Displaying of the results is delegated to external applications (gnuplot recommended). The effect is a very flexible program - and some previously unseen diagrams. Have you ever seen the ringing of K3? http://img339.imageshack.us/my.php?image=csdk1k3km2.png (K1 and K3 in one diagram, K3 shifted +40dB).

The project is BSD-licensed, so anyone feel free to take code (or Ideas) and use it in its own (even commercial) apps (just please take care about the copyright notice). I'm sorry about the german manual, in the near future (say, one year? :D) I translate it to english. The source code is (well) commented in english, feel free to send me a PM through this forum if you have questions.

There are also other signals possible: single tone, multi tone, and in the upcoming version (I hope this month) pink and white noise, and mixing and amplitude modulation (single carrier, two sideband) of already generated signals.

I think it was not mentioned, but the well known Monkey Forest[/quote] can also use log sweeps.

@anli: if you generate the sweeps in the time domain, you will never get a spectrum contained to the start and stop frequency you defined (thats the way Farina supposed it). Only the generation in frequency domain can produce a sweep with a well contained bandwidth (in practice, even that is nearly impossible). Look at my implementation, I've made many improvements since the version that I've mailed you.

Greets
Baseballbatboy
 
Baseballbat said:
@anli: if you generate the sweeps in the time domain, you will never get a spectrum contained to the start and stop frequency you defined (thats the way Farina supposed it). Only the generation in frequency domain can produce a sweep with a well contained bandwidth (in practice, even that is nearly impossible). Look at my implementation, I've made many improvements since the version that I've mailed you.

Greets
Baseballbatboy

Hi, Jochen! It's great you continue your project, congratulates! Are you going to write UI-client for esweep? Qt lib is multi-platform ;)
As for me, currently I have returned to amplifiers designing, as my loudspeakers are ready.

As for qloud. You are right, results are rippled around start and stop frequencies. The simple way is to ignore results at these areas. Between these freqs results are as expected. I (and other qloud users) have not noticed any artifacts (and post #16 is another little illustration). So, from clean theoretical POV, there are problems near start/stop freqs. As for practical using - all works fine. It is very easy to check qloud accuracy - just to compare with results got with other measurement software.
 
Hi Andrew,

anli said:
Hi, Jochen! It's great you continue your project, congratulates! Are you going to write UI-client for esweep? Qt lib is multi-platform ;)

Maybe, but not in the core project. I think it's interesting to write such a UI in a scripting language, like Perl or Python. They both have a Qt binding.

But just yesterday I started to develop a viewer for the project data, in C++ with Qt. Its because gnuplot is nice, but sometimes a little difficult and CSDs look not so well (see the linked picture and compare it to a CSD from MLSSA).

As for qloud. You are right, results are rippled around start and stop frequencies. The simple way is to ignore results at these areas.

Yes, the errors are not so big.

But what I wanted to say is that if you create a sweep in the time domain, starting at 100Hz and stopping at 10kHz, like Farina does it, the sweep contains the whole spectrum (DC - fs/2).

I stated this because there was this discussion:

bwaslo said:
>One feature of the log sweep I like is that it's possible to define the log sweep to start at any frequency..

Actually, you can't do that with the Farina technique as described above - you need to be able to calculate an impulse response from the sweep, which you can't do without sweeping the entire band (DC to half the sample rate). You can make a log sweep that starts at higher frequencies, but you can't calculate the impulse response from it.

Another question or hint for bwaslo:

bwaslo said:
There is also an unconventional dual Log-Swept way to measure intermodulation distortions using a variation on the Farina technique, though it's pretty complicated and not much used.

How did you do that? I thought a long time about it, but did not find an answer.

Then I developed a method using a linear sweep and a fixed sine. As the IMD products always have the same frequency shift (say 100Hz if the fixed sine is at that frequency), the deconvolution of the response with the mixed input signal gives a chain of impulse responses, where the IMD products are at negative times.

It worked, but I could not really interpret the results. I have to compare it to conventional IMD measurements. Currently, this method is not included in my project.

Another idea is to calculate the IMD from the impulse responses of the harmonics. Farina gave me that hint with a paper where he described the auralization process of harmonic distortion (or reducing of the distortion) by multiple convolution of an input signal with these impulse responses.
 
Hi Guys,

Although this is far outside my limited area of expertise, I am fascinated by the wealth of innovation and development in transforms based on the Farina papers.

I commend you for your efforts. Your work is definitely great news for those who desire to test and document their design efforts in acoustics.

Thanks,

Mark
 
Let's put it here:

today I released version 0.3 of my project esweep. You can get it on the project's homepage: http://esweep.berlios.de

Unfortunately, the manual is still only in german. Maybe anyone of you want to translate it?

The new version contains a brand new CSD method, based on convolution of a cosine burst with the measured impulse response.

Well, I don't really know if it is really brand new, but I don't know any measurement system which does this. And I read a lot of manuals.

Baseballbatboy
 
I don't want to change the direction of this thread, but I believe it might be advantageous to all if we can figure out how to interest an interface programmer in the Linux/Unix modules.

For example, Chris Liscio is the author of FuzzMeasure. He already has an interface for Apple's Unix variation. It would seem that his potential client base would be increased dramatically with a Unix/Linux version runnable on PCs.

I will just leave it at this for now.

Best to all,

Mark

PS Bill's user forum was closed a couple of days ago because of low activity except from spammers. Hmmmm!
 
frugal-phile™
Joined 2001
Paid Member
MarkMcK said:
For example, Chris Liscio is the author of FuzzMeasure. He already has an interface for Apple's Unix variation. It would seem that his potential client base would be increased dramatically with a Unix/Linux version runnable on PCs.

I have talked with Chris about that. Fuzzmeasure makes heavy use of the Core Audio toolbox in OS X and would be a real pain to port to anything else. And then there are support issues. It is easy to support Macs, much harder to support other platforms.

Best just to get a Mac. With Parallels they are now one of the best places to run Linux, arguanly the best Windoz boxes (and all at the same time) and are no more expensive than any comparable PC.

dave
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.