INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Convolution DRC  (Read 4168 times)

dean70

  • Citizen of the Universe
  • *****
  • Posts: 508
Convolution DRC
« on: January 25, 2014, 01:57:24 am »

There hasn't been much discussion around Convolution lately.

Fairly new to Convolution filters and going though the process of using Convolution to create linear phase EQ. Running Room EQ Wizard to take Freq Resp measurements, Holm Impulse for phase (at 1m distance from each speaker) and Importing/Plugging in the EQs from REW into RePhase to generate the Impulse WAV files. Is working quite well - post EQ measurement is close to predicted target in REW when using the Auto generate PEQ function (using Constant Q, linear-phase in RePhase for actual filter creation). Also using the Filters Linearization/Paragraphic Phase EQ in RePhase to flatten the phase response (at 1m distance) - quite an improvement in sound quality over basic PEQ.

The issue I have, is that 8k filter taps work to 20khz, but if I generate 65k taps, there is a sharp rolloff at 10khz (with exact same filters). Why does increasing the taps (which is supposed to be more accurate) roll-off at 10khz?

Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: Convolution DRC
« Reply #1 on: January 25, 2014, 07:54:05 am »

There hasn't been much discussion around Convolution lately.

Fairly new to Convolution filters and going though the process of using Convolution to create linear phase EQ. Running Room EQ Wizard to take Freq Resp measurements, Holm Impulse for phase (at 1m distance from each speaker) and Importing/Plugging in the EQs from REW into RePhase to generate the Impulse WAV files. Is working quite well - post EQ measurement is close to predicted target in REW when using the Auto generate PEQ function (using Constant Q, linear-phase in RePhase for actual filter creation). Also using the Filters Linearization/Paragraphic Phase EQ in RePhase to flatten the phase response (at 1m distance) - quite an improvement in sound quality over basic PEQ.

The issue I have, is that 8k filter taps work to 20khz, but if I generate 65k taps, there is a sharp rolloff at 10khz (with exact same filters). Why does increasing the taps (which is supposed to be more accurate) roll-off at 10khz?



I've used RePhase quite a bit, and I've occasionally measured strange results above 10KHz, but (for me) they've always been the result of an error in measurement technique.  

Are you seeing that roll off in a measurement in REW or Holm, or in the modelled response in RePhase?  

I ask because sometimes when the time zero isn't exactly correct on a measurement, the measurements can show fictional frequency roll and phase wrap at higher frequencies (because they're more time sensitive).  The longer filter is more accurate, but adds much, much more latency to the measurement (65K taps is close to a full second of added latency in 44.1), making it more likely that the time zero autodetection might be off.  If your roll off is based on measurement, check on the time zero of your impulse, and see if you still have the same problem once you've lined up the time zero. In Holm the "largest peak" setting is usually the most reliable time zero auto-finder.

Other things it might be:  

1)If you're using a USB mic, the mic has a different clock than your output device and high frequency info (especially high frequency phase measurements) can be a little less reliable, especially in high latency systems (in my experience).

2) Sampling rate: you didn't mention what sampling rate you made the filters at.  Are you measuring at the same sample rate you made the filters for?

If you're not seeing the problem in a measurement, but rather when you make the filter in RePhase, that's a stranger case.  If that's the case, if you'd be willing to post a screenshot of RePhase when you generate the filter I can try and help troubleshoot.

Generally speaking, you can feed the PEQ filters REW generates into JRiver's PEQ module, and then just use a RePhase impulse filter for phase correction on top of that.  It produces identical results to doing it all in RePhase (in my experience), but with a much, much lower latency convolution filter (phase adjustment alone generally requires fewer cycles than frequency + phase adjustment).
Logged

dean70

  • Citizen of the Universe
  • *****
  • Posts: 508
Re: Convolution DRC
« Reply #2 on: January 25, 2014, 03:06:36 pm »

It is the actual post response I am measuring using REW. Have setup a Cross Spectrum calibrated EMM-6 mic into a Tascam US366 USB mixer & using the MC Loopback function to pickup the Tascam outputs and send through the DSP to the speakers. I am doing all measurements at 44.1k sample rate for now.

If I take a set of filters in RePhase and set the taps to 8192, run generate and measure via loopback the FR looks close to the target response. If I take the same set of filters and generate with the set taps to 65536, I get an almost brick-walled roll-off at 10khz. I generate filters for each sample rate (_441,_48,_882,_96,_176&_192) and use the auto switch option in MC DSP, which is working correctly (I can see the various filter selections in use on the Conv DSP screen when I play each).

I have HolmImpulse set to Detect time zero=FirstPeak (positive/negative) which is under Measurement Analysis (but under the actual measurement option, time zero is set to Highest Positive Peak). I export this data as a txt file and import into RePhase. The mic calibration file has been loaded into HolmImpulse.

 Another thing with Holm, is all my freq response measurements show fairly flat down to 10hz (-10db), which cant be right on the measured wall-mount surrounds (they drop like a stone below 100hz). I only use REW for freq resp measurements and its auto generate filters based on a target curve to type the values into rePhase Paragraphic EQ, which gets me fairly close to the original target with a few minor tweaks.

Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: Convolution DRC
« Reply #3 on: January 25, 2014, 05:19:21 pm »

I have HolmImpulse set to Detect time zero=FirstPeak (positive/negative) which is under Measurement Analysis (but under the actual measurement option, time zero is set to Highest Positive Peak). I export this data as a txt file and import into RePhase. The mic calibration file has been loaded into HolmImpulse.

Highest positive peak will give you incorrect results if your mic signal inverts.  But that should be obvious if you look at the impulse.  Otherwise it sound slike you've got Holm set right on the time-zero issue


Quote
Another thing with Holm, is all my freq response measurements show fairly flat down to 10hz (-10db), which cant be right on the measured wall-mount surrounds (they drop like a stone below 100hz). I only use REW for freq resp measurements and its auto generate filters based on a target curve to type the values into rePhase Paragraphic EQ, which gets me fairly close to the original target with a few minor tweaks.

The low frequency issue is probably because you have a gate set on the graph, Holm auto sets a static time-window gate by default.  Everything (both frequency and phase info) below the gate frequency is not usable information (it will look artificially flat).  Fortunately Holm records all of the raw data and only applies the gate to the collected data, so you can change how it is displayed in options for measurements you've already made.  Open up one of your measurements, and look under the options window: select "raw response" to see the actual measured response (although that will show lots of room echo mess too).  

To get a sense of what the speaker is actually doing (as opposed to seeing the speaker and room interaction), I recommend using the frequency dependent windowing option (also under options) with the "n" set to 12.  That will show you the frequency response in a relatively granular way that filters out most of the room.

You say you only use REW for frequency measurement; how do you set your time-zero in REW?  What kind of gating options do you have set up in REW? I ask because an incorrect time-zero combined with REW's gating can sometimes affect frequency response as well as phase (and could be creating your brick wall roll-off).  

Also, have you tried measuring one of your high tap filters in Holm to see if you get the same brickwall rolloff? I'm guessing you have, but I wanted to check.
Logged

dean70

  • Citizen of the Universe
  • *****
  • Posts: 508
Re: Convolution DRC
« Reply #4 on: January 25, 2014, 05:54:35 pm »

Thanks for the info. I will re-take the measurements with HolmImpulse & check the gating options. REW would have been using the default installed options.
Logged

natehansen66

  • World Citizen
  • ***
  • Posts: 239
Re: Convolution DRC
« Reply #5 on: January 25, 2014, 06:09:57 pm »

In the impulse settings in rePhase try changing the centering option from "energy" to "float." I had fr issues when doing linear phase PEQ in rePhase and pos (the guy who made the software) said to try that and it fixed my issues. I didn't have anything as severe as a roll-off like that though.
Logged

dean70

  • Citizen of the Universe
  • *****
  • Posts: 508
Re: Convolution DRC
« Reply #6 on: January 26, 2014, 05:42:47 pm »

Remeasured using HolmImpilse via loopback and got good results in the freq resp charts.  Was able to tweak the filters and confirm the results with Holm. The phase correction worked as expected on the mains, but could not tidy up the center for some reason.

Only thing is I cannot measure at any other sample rate higher than 44.1k. There is no way to manually set the sample rate on the mic in via WASAPI. It appears you need to use the ASIO drivers to use higher sample rates (it auto detects)  :(

All filters are created as Center/float using Nuttal windowing.
Logged
Pages: [1]   Go Up