Home › Forums › Breakaway Professional Products – [discontinued] › If you’re wondering why I’ve been quiet lately
- This topic has 7 replies, 3 voices, and was last updated 15 years, 9 months ago by Sparky.
-
AuthorPosts
-
February 10, 2009 at 1:55 pm #240LeifKeymaster
..it’s because I’ve been writing an RTA 🙂.
Check out the low frequency resolution (test signal is 25+50+100+200+400+800+1600 Hz sine):
I’m using a hybrid IIR / FFT design I just wrote.
And, here’s a different RTA program for reference:
Using a straight FFT design — easier to implement, but sacrificing both frame rate and low frequency resolution.
I just got my algorithm to work after several days of R&D, so I’m ecstatic. There’s nothing quite so satisfying as showing off something new and neat 😉.
Best,
///LeifFebruary 10, 2009 at 3:04 pm #6581cyberneticorganismMemberYou mean you wrote these programs yourself? I don’t know what they intend for but ok 😆
February 11, 2009 at 12:33 am #6582LeifKeymasterNo, I’m writing the top one 🙂.
I didn’t write the bottom one, TrueRTA has been out for a long time.
An RTA, or "Real-time analyzer", analyzes audio and shows you the energy in each frequency band. It can be used to accurately calibrate speakers, listening environments, car stereos etc.
An RTA is actually very different from a spectrum analyzer:
A spectrum analyzer generally shows every frequency in a linear fashion, that is, an equal amount of bands for an equal amount of hz.
For example, if the bands are: 0-10hz, 10-20hz, 20-30hz, 30-40hz, 40-50hz etc… up to 19980-19990, 19990-20000, 20000-20010 etc.. That would be a regular linear spectrum analyzer.
The problem, as you can see from the numbers, is too high resolution for treble, and too low resolution for bass.
10-20hz is a whole octave in one band, whereas 19990-20000 is an extremely narrow slice of spectrum.
An RTA, on the other hand, has a fixed number of bands per octave. Mine runs as 1/3 or 1/6 octave (that is, 3 or 6 bands per octave). Each octave constitutes a doubling of frequency. For example, a 1/6 octave RTA would have the spaced like this:
20.0, 22.4, 25.0, 28.0, 31.5, 35.5, 40.0, 45.0, 50.0, 56.0, 63.0, 71.0, 80.0, 90.0 etc…If you count the number of bands in the 20 – 40 octave, you’ll see that there’s 6 (including 20). Count the number of bands in the 40-80 octave, you’ll see that there’s 6 again (including 40). The even spacing goes on this way all the way to 25000hz (12500, 14000, 16000, 18000, 20000, 22400, 25000).
Anyway. TrueRTA, like other FFT-based analyzers, START with a linear FFT, and then convert the values to RTA. It’s an efficient / convenient way to do it, but it means having very poor resolution for bass frequencies, as you can see in the screenshots.
///Leif
February 12, 2009 at 3:58 pm #6583cyberneticorganismMemberI understand half of the story you tell, and the other half i don’t 😆 It’s very complicated matery. But anyway, i understand that you can see with such a program if some frequency area’s are too low, and some are too high/strong. And you just use another way of calculating this. And your way is more reliable then the other?
February 13, 2009 at 1:46 am #6584LeifKeymasterPrecisely. Mine is more accurate in the bass region, the region where it’s hard to get good accuracy 😉.
///Leif
February 13, 2009 at 5:58 pm #6585SparkyMemberJust wondering why you chose IIR filtering vs. FIR in this application?
February 14, 2009 at 2:08 am #6586LeifKeymasterSimple: Computational efficiency. Phase linearity isn’t a design requirement, so IIR is much more CPU efficient.
///Leif
February 14, 2009 at 6:36 am #6587SparkyMemberYeah that’s what I thought but wanted to check anyway.
thx -
AuthorPosts
- The forum ‘Breakaway Professional Products – [discontinued]’ is closed to new topics and replies.