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
For those who believe in USB reclockers may not after watching this ;)

#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
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

#7
Hate to break the bad news !!

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



#9
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




#10
A great read for anyone interested or skeptical of class-D amplifiers ;)

LIFE ON THE EDGE – A PERSONAL PERSPECTIVE ON THE PAST, PRESENT, AND FUTURE OF CLASS D AUDIO AMPLIFIERS

BRUNO PUTZEYS OCTOBER 22, 2024 30TH ANNIVERSARY THE NOW
#11
News Updates / Latest Firmware Update - 240805-1507
August 05, 2024, 07:32:50 PM
Please click on the following link for the latest firmware updates for the UP1,UP2 and UPP. (You need to be a registered member of this forum to access this page.)

https://analog-precision.com/forum/firmware-updates/firmware-update-24/
#12
Please click on the following link for the latest firmware updates for the UP1,UP2 and UPP. (You need to be a registered member of this forum to access this page.)

https://analog-precision.com/forum/firmware-updates/current-firmware-update/
#13
For those fake review websites and infuencers that keep promoting "audio-file" network switches please get your facts straight and stop spreading mistruths and propaganda just because it is profitable for you to do so. That is no excuse to do it.

Unlike these fake reviewers and as someone that has actually designed DAC and DSP hardware all I can say is that once those 'ones' and 'zeros' are re-assembled inside a buffer within a DAC or DSP, the electronics does not care where they came from. Whether it's an S/PDIF, Toslink, USB or ethernet connection via streamer and network switch etc it makes no difference to the DAC hardware how they got there as long as there are no errors in the data then each source will produce an identical result and this can be measured as well !

And there in lies the rub. These fake review websites rarely measure anything if at all. Instead they will come up with a whole lot of lame excuses as to why they should not measure anything which is contrary to the people who design the hardware and/or the silicon used in most modern electronic devices. None of their lame excuses stands up to any scrutiny which should be a red flag to anyone reading it. What these people are doing is sending the industry back to the dark-ages and promoting a whole new industry of snake-oil merchants, snake-oil products, scam artists and spivs.

The only caveat here is that different devices may use different levels of isolation with the possibility of passing noise into the connecting device. However this all should be clearly measurable but of course if you don't measure anything then how would you know ? Of course this aspect which is usually the focus of most of these fake reviews has no bearing on the end sound quality. And changes in someones subjective interpretation of sound-stage is certainly not a reliable performance metric !!






#15
Cantata / Technical Information/Crossover Schematics
January 08, 2024, 10:54:53 AM
Please feel free to add any technical material you may have on these speakers.