News:

SMF - Just Installed!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Tranquility Bass

#1
I'm not trying to give a leg-up to facebook, but at least they don't play sponsors off against each other in a clandestine way like some other sponsored forum does, and you are not paying for the construction of one individual's McMansion on a one-acre block not to mention all of the mod-cons that go with it :(

Looks like some new local entries into the facebook sponsored space. The momentum is gathering ;)

Apollo Hifi.png
#2
So now we have established the effectiveness of global group-delay compensation filters as a means to linearize the phase response of a non-minimum phase crossover and proved that you do not need to use linear-phase filters with all of their drawbacks we can go ahead and complete the mission. The client divided his DSP duties as follows.

The following 4-way 8th order non-minimum phase LR crossover was uploaded to the Ultimate Preamp as follows.

4w32-26-12ok1.png

Whilst the stereo phase correction filter comprising of two 65536 tap FIR filters running at 192kHz sampling rate was installed on the PC as follows.

Xover-Stereo Phase Correction.png

Alternatively, the two designs could have been combined into one design and run exclusively on the PC whilst seamlessly integrating with the Ultimate Preamp.

As an indication of the CPU resources used, I grabbed a screenshot of the Audioweaver Server that presents the resource usage in realtime. To get an appreciation of the amount of computations performed each second we can do a back of the napkin calculation. For each 64k tap FIR filter, the number of multiply-accumulates (MACs) can be calculated by multiplying the tap count of 65336 by the sample rate of 192,000. This is 12.6 GMACs for one filter or 25.2 G-MACs for two filters simultaneous. That is certainly some decent DSP processing capability the PC is providing. To put it all into context for every audio sample 65536 multiply-accumulates have to be performed to calculate the convolution filter and there are 192,000 of these same calculations that have to be carried out per second !! If Audioweaver is leveraging on the Pentium SSE instruction set then it is more than likely using the fused-multiply-add or FMA instruction which supports SIMD (Single Instruction Multiple Data) so can perform multiple MAC's per instruction cycle! Coupled with the 6MB of Intel smart cache and a 3.3GHz clock frequency this thing is really hauling the mail without breaking a sweat 

Xover-4way(for testing)(AWD-Server).png

This is why we are not too keen to upgrade the onboard DSP when the current DSP board can leverage so much external DSP capability whilst maintaining the same outstanding audio performance metrics and anyone with an Ultimate Preamp Plus can achieve this !!

7cdc8eb0-0a1f-4b87-a061-128537f8eaf7.jpg








#3
But what about the effects of the low-frequency box alignment on the frequency response ? We can do this on our Audioweaver test bench by switching in a high pass filter which mimics the effect of the woofer and box. Let's say we tune the woofer and box for a Butterworth alignment (ie Qt=0.7071) and a box frequency of fc=20Hz. How does this affect the frequency response? We can do this by enabling the high pass filter in the signal path and as expected we get the following frequency response where the response is 3dB down and phase is +90 degrees at 20Hz !

Closed-Box(fc=20Hz,Qt=0.7071)(without phase correction).png

As expected The square wave response shows the typical drooping due to the additional group delay at the lower frequencies and at 20Hz and 10Hz is very much exaggerated !

Xover-4way(for testing)(SCOPE-1000Hz SQWAVE-with phase correction+No Box Compensation).png

Xover-4way(for testing)(SCOPE-100Hz SQWAVE-with phase correction+No Box Compensation).png

Xover-4way(for testing)(SCOPE-20Hz SQWAVE-with phase correction+No Box Compensation).png

Xover-4way(for testing)(SCOPE-10Hz SQWAVE-with phase correction+No Box Compensation).png

Can we correct for this? Let's bring up RePhase again and include the effects of the low-frequency box alignment in the correction filter. We do this by including the box parameters and recalculating the filter coefficients or taps in this case.

Xover-4way(for testing)(RePhase-with Box).png

We load these coefficients into the bottom FIR filter block in Audioweaver and set the appropriate switches so the high pass filter and new correction filter is now in the signal path. When we run a frequency response sweep we still get the same magnitude response because the correction filter does not attenuate any frequencies at all.

Xover-4way(for testing)(MAGdB-with phase correction + Closed-Box).png

But the phase response is similar to the corrected phase response as before due to the large amount of delay in this type of filter.

Xover-4way(for testing)(PHASE-with phase correction+Closed-Box).png

To make more sense of this phase plot we switch in a delay in the reference channel which should match the delay of the filter. If everything is ok then the phase response of the two channels should be identical linear phase responses and the difference in phase should result in a flat or straight line with minimal gradient. Lets see what happens.

Xover-4way(for testing)(PHASE-DEVIATION -with phase correction+With Box Compensation).png

As expected the phase characteristics of both channels cancel each other out with no deviation at all and shows that the filter under test is producing a linear phase response.

And the corrected square wave responses are totally corrected except for a time delay of course !!

Xover-4way(for testing)(SCOPE-with phase correction).png

Xover-4way(for testing)(SCOPE-100Hz SQWAVE-with phase correction+Box Compensation).png

You are probably interested in what the response looks like at the cutoff frequency of 20 Hz and an octave below it at 10Hz where the actual response starts falling off thus having a direct effect on the fundamental frequency component of the square wave. Lets see !

Xover-4way(for testing)(SCOPE-20Hz SQWAVE-with phase correction+With Box Compensation).png

Xover-4way(for testing)(SCOPE-10Hz SQWAVE-with phase correction+With Box Compensation).png

For comparison if we switch in the time delay back into the reference channel to equalize the phase response between the two channels we can now see below both waveforms from both channels are in lock-step and now line up with each other no matter what frequency is used.

Xover-4way(for testing)(SCOPE-1000Hz SQWAVE-with phase correction+With Box Compensation+CH1 Time Delay).png

Xover-4way(for testing)(SCOPE-100Hz SQWAVE-with phase correction+With Box Compensation+CH1 Time Delay).png

Xover-4way(for testing)(SCOPE-20Hz SQWAVE-with phase correction+With Box Compensation+CH1 Time Delay).png

Note the reduction in amplitude of the sinewave output at the box cutoff frequency of -3dB whilst still being in perfect phase whereas the uncorrected response would be out of phase by +90 degrees !!

Xover-4way(for testing)(SCOPE-20Hz SINEWAVE-with phase correction+With Box Compensation+CH1 Time Delay).png
#4
To generate a group-delay correction filter we need a means to build one. As expected the filter we need will be a Finite Impulse Response (FIR) digital filter with many taps (multiply accumulates). Because the crossover runs at 192kHz we will also build the correction filter to run at 192kHz which is a big ask for any DSP let alone two of them used for stereo but our test PC is more than capable being an Intel i5 4590 with 4 cores running at 3.3GHz and 3 levels of cache. We used a program called rePhase to build our filter. Here is the filter setup in RePhase. Later on, we will include compensation for the low-frequency roll-off caused by the woofer and box but for now, let's just focus on the crossover itself.

Xover-4way(for testing)(RePhase).png

We set optimization to "Moderate" and hit the "Generate" key and then we created the following correction filter ! Note that rePhase always creates a correction filter with a net 0-phase response! This results in a non-causal impulse response that occurs before the impulse which whilst mathematical succint is physically unrealizable. To overcome this, rePhase allows you to realign the impulse response by delaying it and windowing it so there is no response before the impulse. In this case, this was done by delaying and centering the impulse response at the halfway point (i.e., half tap count) and using a Hanning window to mask out anything before the impulse. Since it's a txt file we can open it with Notepad just by double clicking on the file !

impulse-50-100-3000-48dBoct-65536tap-192kHz.png

We load these coefficients into the top FIR filter block in our Audioweaver test bench above. The bottom FIR filter block is used when we also include the effects of the box frequency response which we will address later on. We run Audioweaver again and switch in the correction filter so that it is now feeding the crossover and do a frequency response sweep again. As expected the response is ruler flat since the correction filter does not alter the magnitude but only the phase !

Xover-4way(for testing)(MAGdB-with phase correction).png

However, the phase response is hardly surprising with so much delay in the filter so it's hard to tell the shape of the curve is linear.

Xover-4way(for testing)(PHASE-with phase correction).png

To make more sense of this phase plot we switch in a delay in the reference channel which should match the delay of the filter. If everything is ok then the phase response of the two channels should be identical linear phase responses and the difference in phase should result in a flat or staright line with minimsl gradient. Lets see what happens.

Xover-4way(for testing)(PHASE-DEVIATION -with phase correction).png

As expected the phase characteristics of both channels cancel each other out with no deviation at all and shows that the filter under test is producing a linear phase response.

But the real test is the square wave response because even though the filter still measures flat the phase response appears to be linear and we can confirm this on the scope. Firstly at 1kHz and then at 100Hz the square wave is preserved so we have successfully phase corrected the non-minimum phase crossover !!

Xover-4way(for testing)(SCOPE-with phase correction).png

Xover-4way(for testing)(SCOPE-100Hz SQWAVE-with phase correction+Box Compensation).png







#5
There is a school of thought that says the only way to accomplish a linear phase crossover is to use linear phase filters which are a special class of FIR filter that sums to a unity response with a fixed time delay. So when both high pass and low pass sections are added together the response is a delayed version of what is being fed into the crossover. As I have discussed in another thread this type of filter has issues with proper impulse response cancellation due to imperfect matching between drivers which can result in severe pre-ringing leakage among other topics. The proponents of these filters will never talk about this aspect of this type of filter topology, instead pretending that it doesn't exist or can easily be minimized so that it is never a problem.

The other way of linearizing the crossover is to take an existing non-minimum phase crossover and apply a global group-delay correction filter which is just an FIR filter with a large number of taps. The advantage here is there are no FIR filters in the actual crossover to generate any pre-ringing artifacts. This is the approach taken by a few commercial designs as well as here, although the correction filter usually requires a large number of taps and has a large delay depending on the sampling rate and tap count. So this should be taken into account if you want to use these speakers with other speakers or in conjunction with a video display in say a home theater system in order to avoid lip-syncing issues.

We took a four-way 8th-order Linkwitz-Riley crossover from one of our clients who own one of our Preamps and applied a global group-delay correction filter to linearize the phase response. The LR crossover was already flat but the phase response was anything but linear so a square wave fed into it did not look like a square wave coming out of it. A linear phase response means that there is just a time delay in the signal path whilst still maintaining a flat magnitude response but there is no waveform distortion.

To measure the phase distortion of the crossover in isolation we needed to sum the outputs of the crossover before they were level adjusted and time delayed so we could focus on the crossover alone without the effects of the speaker and the room etc which we know adds its own artifacts to the response. Later on, we will look at compensating for those as well but for now we are just focussing on fixing up the crossover and making sure the group-delay correction filter is doing its job properly.

To evaluate the crossover we just looked at one channel and summed the outputs to measure the net frequency response. We also fed the input to the crossover to one of the outputs of the preamp as a reference for the analyzer to create the frequency response. The summed outputs of the crossover are fed to another channel on the preamp. We also added a few multiplexers or selector switches to enable us to switch in and out various filters quickly so we can quickly evaluate the effects of different filter configurations. Both the input to the crossover and the summed outputs are then connected to our dScope III audio analyzer. The dScope III can measure both amplitude and interchannel phase. The following Audioweaver test bench is what we used to evaluate the effectiveness of the global correction filters.

Xover-Test Bench1(AWD).png

All of the DSP is done on a PC instead of the Preamp itself because the group-delay correction filters required are beyond the resources of the onboard SHARC DSP. The Ultimate Preamplifier Plus (UPP) has a unique feature in that it allows one to run DSP on an external device such as a PC as though it was running inside the Preamp. In fact, in another thread, we proved that the audio path was transparent and the performance of the Preamp was unaffected by the noisy environment of a PC ! The Ultimate Preamplifier Plus can also share DSP between its own onboard DSP as well as an external PC so for example you could build a non-minimum phase LR crossover using the onboard SHARC DSP whilst running the correction filter on an external PC and then switch the correction filter in or out from the Preamp menu. This is the approach our client is taking but for proof of concept and convenience, we ran everything on an external PC which allowed us to quickly evaluate and test everything in the one environment. The main aim was to validate the effectiveness of the global group-delay correction filters and prove that you don't need to use dedicated linear-phase filters to achieve this.

First, we measured the frequency and phase response of the crossover filter alone using a log frequency axis. We note the flatness of the filter as expected but the phase is anything but flat ! The top blue trace is the sweep of the input which is ruler flat as expected and the bottom red trace is the crossover summation of all drivers which is also ruler flat as expected.

Xover-4way(for testing)(FR).png

To evaluate the phase response we reran the frequency response test using a linear frequency axis instead of the usual log axis. If the phase is linear then the phase response should look straight and not curved. Since the analyzer cannot distinguish phase greater or less than 180 and -180 degrees respectively it wraps or folds the phase so the response always is contained within a 360 degree envelope which makes it look like a saw-tooth. From the phase plot below we can see the phase is anything but linear which was expected !

Xover-4way(for testing)(PHASE-without phase correction).png

And now for the money shot. What does this crossover filter do to a square wave? The square wave is important because it is not just a single tone but rather a series of odd harmonically related tones with a monotonically decreasing magnitude. If the phase is not linear, it will manifest itself as distortion in the waveform even though the magnitudes of the harmonics are still correct. So, let's look at the test results on a scope.

Firstly at 1kHz and then at 100 Hz !! This is what a non-minimum phase crossover does to a square wave !! Can we fix this ??

Xover-4way(for testing)(SCOPE-without phase correction).png

Xover-4way(for testing)(SCOPE-100Hz SQWAVE-without phase correction).png



#6
A recent review by a well-respected online loudspeaker magazine of a prospective competitor to the Ultimate Preamp, whose product also runs Audioweaver, produced the following independent measurements on an Audio Precision APx555 audio analyzer. As can be seen the THD+N is about 1 order of magnitude (10x or 20dB )worse than what we were able to measure on our dScope III analyzer, and I dare say that we were pushing the lower limits of our analyzer at the time so I would expect to see even better results on an APx555 which is the gold standard these days ;)

This is a very much below-average result, and it is little wonder it didn't stay up long on ASR and was removed rather quickly. It's the sort of result you would have expected from a cheap PC motherboard sound card or external USB sound card from a decade ago. Tsk tsk tsk... it looks like someone is heading back to the drawing board again ;)

Competitor THD+N.png
#7
After version 6.17 of Audioweaver DSP concepts changed the base support package so you could no longer integrate your own code with the Audioweaver code so from thereon the Audioweaver code has exclusive control of the DSP and you talk to it through another host micro. Because of that, you have to write special routines in the Audioweaver base support package just to do simple things like change the master volume etc. As I do a large amount of housekeeping functions on the SHARC DSP this is not practical nor do I have a host micro on the board. Having said that, you can still leverage the latest version of Audioweaver by running it on a PC and use the audio-conduit functionality offered by the Ultimate-Preamp Plus and this will not impact on the sound quality at all whilst expanding the DSP functionality. If you don't want to use a PC or don't need to use Audioweaver then you could use something like a Raspberry Pi-5 which uses a Broadcom BCM2712 with 4-cores based on an ARM-Cortex A76 with plenty of Level 1/2/3 cache and really cheap too at $133 AUD a piece the last time I checked ;)

And I just checked there is a version of Audioweaver that runs on a Rasberry Pi. Not sure if this will interface with the UPP but it's a possibility ;)

https://dspconcepts.com/forums/audio-weaver-general/362-does-dsp-concepts-have-runtime-raspberry-pi-3

QuoteDoes DSP Concepts have a runtime for the Raspberry Pi 3 ?

Yes, we offer two different products that can run on the Raspberry Pi 3.

1. AWE_command_line - This is the Audio Weaver Server command line application, which relies on ALSA to handle audio inputs and outputs. On the Raspberry Pi 3, to handle real-time audio we usually use a USB sound card (something like the "Plugable USB Audio Adapter"). Usage of AWE_command_line can be seen in our 'Linux Integration Guide' here: https://dspconcepts.com/support

2. AWELib - Delivered as a set of libraries with example/reference integrations, AWELib provides an API to create and tune your audio processing system and is easily integrated into other applications. With AWELib, it is up to the user to implement the audio inputs and outputs.

 

Both AWE_command_line and AWELib running on your Pi can connect directly to Designer on your PC for testing and tuning purposes. Alternatively, user created scripts or applications can be used to interact with and tune your Audio Weaver driven systems.

 

If you're interested in evaluating one or both of these products, please email info@dspconcepts.com to begin an engagement.

 

Thanks

-Axel

#8
The following Jitter tests illustrate the benefit of using the built-in Inter-sample Overs Guard in preventing internal numerical overflow inside the asynchronous sample rate converter of the SHARC DSP. We used the same J-test methodology that we used for our other tests.

Firstly the following shows the scope screen capture of one channel of the output of the Preamp with the J-test signal from the analyzer applied directly to the USB port of the Preamp. For all intents and purposes, it should look like a 12kHz sinewave but because of Intersample Overs, there is internal overflow in the sample rate converter which manifests itself as waveform distortion similar to clipping which is a side effect of upsampling or interpolating to a higher sampling rate.

J-Test_Waveform(SRC-USB).png

The following shows the resultant FFT spectrum and notable artifacts can be observed.

J-Test(SRC-USB+NO IS Guard).png

Expanding the frequency scale of the spectrum above shows in much more detail the problems caused by the inter-sample overs.

J-Test(SRC-USB+NO IS Guard-expanded).png

With the Inter-samples Guard switched on we noted how many times the sample rate converter was overloading in the statistics collecting mode ! Once activated the Guard reduced the signal input level to avoid any more internal arithmetic overflows and reported that the signal had to be reduced by 3dB to achieve this.

ImportedPhoto_1736826332305.jpeg

And the signal from the output of the Preamp was reduced in amplitude by 3dB but is no longer visually distorted!

J-Test_Waveform(SRC-USB+IS Guard).png

Now let's see the effect on the J-test spectrum from the analyzer. A vastly much improved and cleaner spectrum is observed below when the sample rate converter is not overloading and essentially proves how transparent the SHARC sample rate convert is !

J-Test(SRC-USB+IS Guard).png

The expanded frequency scale of the above FFT spectrum is shown below !

J-Test(SRC-USB+IS Guard-expanded).png


#9
Someone emailed me recently after I posted the results of routing digital audio through an external PC for the purposes of expanding the DSP capability of the Ultimate-Preamp and asked whether or not using a PC adds any additional noise, distortion or jitter to the audio stream ? Well I said in theory it shouldn't due to the isolation and transparency provided by this interface but there is only one way to find out and that is to measure it.

So using the same J-test methodolgy that we used for the normal jitter tests on the various inputs to the preamp we can now apply the same test methodology whilst routing the audio through an external Dell PC used in our lab and see how it affects the jitter and noise. So we setup Audioweaver on a PC to process audio from the Preamp at 192kHz in a direct input-to-output connection as in the following:-

Setup for J-Test on PC.png

Then we measured the jitter from the output of the Preamp using the same J-test methodology as we used on earlier tests of jitter.

J-Test(SRC-USB+IS Guard+2x8-Channel via PC).png

The screenshot below is the same as above but with an expanded frequency scale. As can be seen the spectrum is as clean as it is with internal DSP processing and any artifacts are way below the threshold of hearing !

J-Test(SRC-USB+IS Guard+2x8-Channel via PC-Expanded).png

We did the same for THD+Noise.

THD + N.png

As can be seen in the test results above the PC is essentially transparent to the audio stream and does not add any noise, distortion or jitter to the incoming audio stream thanks to the hardware of the Ultimate Preamplifier Plus. This is contrary to the reputation of PC's as a noisy and hostile environment due to high speed digital design along with a switching power supply not optimized for low noise. However, the UPP mitigates these issues with ease. In other words don't waste your money with fancy re-clockers and FIFO's because the Ultimate Preamplifier does it all for you and the test results above speak for themselves ;)

https://analog-precision.com/forum/performance-and-measurements/jitter-tests/

https://analog-precision.com/forum/performance-and-measurements/thd-n-balance-output/

.

#10
Hate to break the bad news !!

#11
News Updates / Vinyl sound quality myth destroyed ??
January 05, 2025, 06:48:27 PM
Not as simple as the more expensive turntable the better !!



#12
Quote from: hoschi on January 05, 2025, 11:40:47 AMAny update on the Board?
Upgrade to all latest chips would be amazing.
ES9039PRO
ES9842PRO
Latest sharc dsp.
Dsd 512 or 1024 capability. That would be amazing😄

From what I can see from the datasheets the only thing that the 9039 offers over the 9038PRO is support for MQA but that is now dead in the water so I wouldn't want to change that part. The Rev:D board includes the new ADC but I am still using the Rev:C board for prototyping. I'm not sure if I would want to upgrade to a newer SHARC part because that means a complete board re-design using a BGA part and migration to a new development platform and for the additional performance it is probably not worth the effort. Also I don't think I can easily integrate the newer versions of Audioweaver as they changed their format after 6.17 which relies on the base support package running exclusively on the SHARC DSP so the necessity for another slave micro just for house-keeping. This means you have to write special custom functions for Audioweaver just to control things like DAC volume and input source selection etc and with all of the options that are on the existing Preamp this would become unwieldy very quickly :(

From a DSP perspective and given what I have been able to achieve on the UPP using an external PC it would probably be more prudent to offer an upgrade to existing UP2 owners for this capability rather than redesign a new board when the existing Rev:C board works so well ;) Not only that you get to use the latest version of Audioweaver on the PC whilst the SHARC DSP is still locked into using the earlier version of Audioweaver. The DSD limit of DSD-256 was limited by the master clock from the Amanero USB audio interface device.

https://analog-precision.com/forum/performance-and-measurements/ultimate-preamp-vs-deqx/msg937/#msg937




#13
For the DSD aficionados, I have Jriver outputting a DSD-256 bitstream (11.289MHz) to the Preamp which is then processing it through 8 FIR filters each with 64k (65536) taps @48kHz sampling rate and the PC is not even breaking a sweat ;)

ImportedPhoto_1735113805633.jpg

Xover-8Ch Phase Correction with Jriver.png

System Monitor II.png
#14
Reminds me of a Kick-Starter or Indiegogo campaign. How many of those ended in failure where the punters lost their money ? The ASR thread on DEQX's unfinished product should have been relegated to the Desperate Dealers forum on ASR. Ironically it's hypocritical how stereonet disables links to ASR but must have welcomed this thread with open arms. I don't think Amir got rewarded a brand new house on a 1 acre block from it ;)

And like you said the thread extolling the virtues of a new DSP product using Audioweaver that was canvassed on stereonet not so long ago was derailed almost immediately by the same DEQX shill as being too convoluted to use :( Go figure ! Of course, Minidsp like the Wilsenton audio thread on stereonet gets free plugs all day long whilst the local manufacturers have to pay through the nose :( With stereonet it all depends on who you are and whether or not you are part of their cabal or of financial benefit to the owner. Merit has nothing to do with it :(
#15
Sounds like the DEQX PRe-8 is running out of clock cycles or the Linux bloatware is stealing away valuable resources. That will learn-ya ;)

QuoteAfter some waiting I have been starting to use my Pre-8, very intensive last two weeks.

Some Trouble:
-A alot of "snapping" / crackling sounds, dont know the english word. Sometimes its not even possible to listen and sometimes if I start on low volume and keep it like that there are no such sounds for hours.
If I then play loud for a while the very irritating sounds starts and they dont go away even on low volume.
Anyone alse experience the same?

-Para-eq lives it own life, it often changes the q value. I havnt really figured out when and why yet.

I hope it goes well for Deqx so we get a finished product, this Beta stege is a little painful in many ways.

This is for the DEQX shills who said that only 65k taps per channel is the only acceptable solution! I hatched up a simple test of 8 FIR filters in Audio Weaver each with 65k taps running concurrently with a sample rate of 48kHz !! Note the resource usage in the server window, hovering at around 15% ! Had no trouble running Jriver on the same PC whilst processing the eight FIR filters concurrently without any Snap-Crackle-or-Pop !! All lucky Ultimate Preamplifier owners have this capability ;)

Xover-8Ch Phase Correction.png