Jump to content
SwissBear

Using REW and rephase to generate amplitude and time domain corrections

Rate this topic

Recommended Posts

A short update to mention that, starting with REW 5.17 Beta 14, an XML interface has been substituted to the text file format.

 

To save the filters to the .xml format, just use this function:

Screen Shot 2016-12-04 at 18.16.22.png

The rest of the procedure is unchanged, Pos having changed in rePhase the format of the expected file from REW.

Share this post


Link to post
Share on other sites

Hello,

 

Today, I would like to illustrate a slightly different use of REW / rePhase, in the field of simulation, adapted to pedagogy or design of systems.

 

But how can we achieve simulations with rePhase ?

 

It's very simple starting from a blank page, we create a filter, for example high pass like this:

 

Screen Shot 2016-12-07 at 13.25.09.png

 

This filter is a minimum phase filter, and we can generate a pulse from it, for example, with the characteristics on the left of the screen.

 

We will do the same with a linear phase filter of the same characteristics:

 

Screen Shot 2016-12-07 at 13.29.00.png

 

The corresponding pulses are generated and imported into REW by the 'Import Impulse Response' function.

Screen Shot 2016-12-07 at 13.40.48.png

 

From there, we have two filters available in REW, which we can compare the characteristics:

SPL: identical in both cases

SPL_Filtres.jpg

 

Phase: we observe that the phase of the linear phase filter (green on the graph) is equal to zero, which is not the case of the minimum phase filter (red on the graph)

Phase_Filtres.jpg

 

Step: we find the pre-ringing in the case of the linear phase

Step_Filtres.jpg

 

ETC: we find the limit of audibility that I commented on the rePhase forum and which shows that the pre-ringing of the linear filter is probably not audible

ETC_Filtres.jpg

 

Finally, if we represent the excess phase (filter's phase in excess with respect to the minimal phase of the curve), it is observed that the filter in minimal phase behaves better than that in the linear phase, which was expected.

 

MinPhase.jpg

 

LinPhase.jpg

 

With this method, even if you are not at all interested in active correction, but just wanting to simulate the behavior of your speakers, you can go far enough.

 

To illustrate, here is a simulation of the phase of my speakers, with a 2nd order filter at 350Hz and a second at 4000Hz. This is fairly realistic;)

 

BW802.jpg

 

Hope this is useful for some :)

Share this post


Link to post
Share on other sites
On 6/25/2017 at 6:55 AM, SwissBear said:
Last year, Pos the author of rePhase and JohnMP the author of REW, have implemented an interface in order to allow usage of amplitude correction filters generated inside REW in rePhase, and improve the possibilities to use rePhase as a tool to generate room corrections.

Since the 5.18 beta version of REW, JohnMP has implemented some new features which allow:
  • to simplify the averaging of measurements (time alignment and vector averaging)
  • to generate a minimum phase and an excess phase versions of any measurement, which allow to greatly simplify the possibility to use rePhase in order to generate a minimum phase correction of any system.
I have updated a short 'How To' guide in order to illustrate these features.
This manual is available here: https://www.dropbox.com/s/10xdhh83jokzbxv/REW_rePhase_tuto.pdf?dl=0

Thanks again to JohnMP and to Pos for making this interface so easy to use
  Edit/Delete Message

 

Hi @SwissBear,

 

Thanks a lot for your tutorial! I've been using REW for building filters for FR correction and minor room corrections for a while, but have not worked with rePhase until recently.

 

One question I have is in the phase adjustment step, you suggest generating 'Excess Phase' plot and to import it into rePhase for adjusting.

 

When I do this step, the phase plot has large swings and jumps, and while I can force it closer to zero by applying lots and lots of large filters, it seems like that's not the right thing to do. Maybe my phase measurements are off, or the room needs a lot of treatment? 

 

Should I make the phase adjustment on the impulse-response (amplitude-only filters) instead? That seems to have a much more well-behaved phase plot and is much easier to adjust with rePhase. But is that the right place to generate phase filters?

 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, pkane2001 said:

 

Hi @SwissBear,

 

Thanks a lot for your tutorial! I've been using REW for building filters for FR correction and minor room corrections for a while, but have not worked with rePhase until recently.

 

One question I have is in the phase adjustment step, you suggest generating 'Excess Phase' plot and to import it into rePhase for adjusting.

 

When I do this step, the phase plot has large swings and jumps, and while I can force it closer to zero by applying lots and lots of large filters, it seems like that's not the right thing to do. Maybe my phase measurements are off, or the room needs a lot of treatment? 

 

Should I make the phase adjustment on the impulse-response (amplitude-only filters) instead? That seems to have a much more well-behaved phase plot and is much easier to adjust with rePhase. But is that the right place to generate phase filters?

 

 

 

 

I think I can answer my own question :)

 

The Excess phase is the difference between minimum phase and the phase error of the measurement. That's what I need to adjust to zero, so that the result is minimum phase.  I'll have to see if I can get another set of measurements that make more sense and are easier to adjust...

Share this post


Link to post
Share on other sites

Hi @pkane2001,

Thanks for your interest in REW/rePhase.

The excess phase is the difference between the minimum phase and the phase actually produced by your system. This difference should effectively be brought back to close to zero in order for your system to behave as a minimum phase system.

As a general rule, you should mainly use the Filters Linearization tag, select the frequencies of your LS crossovers and adjust the slope for each of them. After this step, there should only be some light adjustments to make in the Paragraphic Phase EQ, mainly gentle adjustments in the area of the cross-overs.

If you need help on this, I invite you to join the very friendly and dedicated community which is supporting rePhase here: http://www.diyaudio.com/forums/multi-way/221434-rephase-loudspeaker-phase-linearization-eq-fir-filtering-tool-217.html

Share this post


Link to post
Share on other sites
3 hours ago, SwissBear said:

Hi @pkane2001,

Thanks for your interest in REW/rePhase.

The excess phase is the difference between the minimum phase and the phase actually produced by your system. This difference should effectively be brought back to close to zero in order for your system to behave as a minimum phase system.

As a general rule, you should mainly use the Filters Linearization tag, select the frequencies of your LS crossovers and adjust the slope for each of them. After this step, there should only be some light adjustments to make in the Paragraphic Phase EQ, mainly gentle adjustments in the area of the cross-overs.

If you need help on this, I invite you to join the very friendly and dedicated community which is supporting rePhase here: http://www.diyaudio.com/forums/multi-way/221434-rephase-loudspeaker-phase-linearization-eq-fir-filtering-tool-217.html

 

Thank you! I did think that the Filter Linearization was needed, but couldn't figure out how to make that work. I've also looked at the DYI thread before, but was intimidated by the number of posts there :) I'll dive into it for more details, now.

 

Thanks again.

 

Share this post


Link to post
Share on other sites
On 9/7/2017 at 4:01 AM, SwissBear said:

Hi @pkane2001,

Thanks for your interest in REW/rePhase.

The excess phase is the difference between the minimum phase and the phase actually produced by your system. This difference should effectively be brought back to close to zero in order for your system to behave as a minimum phase system.

As a general rule, you should mainly use the Filters Linearization tag, select the frequencies of your LS crossovers and adjust the slope for each of them. After this step, there should only be some light adjustments to make in the Paragraphic Phase EQ, mainly gentle adjustments in the area of the cross-overs.

If you need help on this, I invite you to join the very friendly and dedicated community which is supporting rePhase here: http://www.diyaudio.com/forums/multi-way/221434-rephase-loudspeaker-phase-linearization-eq-fir-filtering-tool-217.html

 

Just as a follow up, here's the corrected speaker output with phase closely matching minimum phase response. I also corrected my HD650 headphone output. Sounds great!

 

phase.thumb.png.81e106bad21489c29a43f12e785a067b.png

 

Share this post


Link to post
Share on other sites
17 hours ago, pkane2001 said:

 

Just as a follow up, here's the corrected speaker output with phase closely matching minimum phase response. I also corrected my HD650 headphone output. Sounds great!

 

phase.thumb.png.81e106bad21489c29a43f12e785a067b.png

 

 

Congratulations ! You did a great job ! Must sound awesomely ;) .

Share this post


Link to post
Share on other sites

I'm trying to follow along with SwissBear's pdf tutorial linked above in this thread. I'm having a problem with convolving the rePhase correction impulse to my REW measurement. When I do the convolution with the settings shown (A*B) I end up with a new measurement at 152.9 dB, which is about double the original measurement. At this point, I don't know whether this is wrong (I'm assuming it is) or if it's ok how to I work with it at such an increase amplitude.

 

I've attached a screenshot that should help explain better.

 

Thanks in advance for any help.

Conv Issue.jpg

Share this post


Link to post
Share on other sites
15 hours ago, lasker98 said:

I'm trying to follow along with SwissBear's pdf tutorial linked above in this thread. I'm having a problem with convolving the rePhase correction impulse to my REW measurement. When I do the convolution with the settings shown (A*B) I end up with a new measurement at 152.9 dB, which is about double the original measurement. At this point, I don't know whether this is wrong (I'm assuming it is) or if it's ok how to I work with it at such an increase amplitude.

 

I've attached a screenshot that should help explain better.

 

Thanks in advance for any help.

Conv Issue.jpg

Nothing wrong here. Just add (in this case subtract) the level which is necessary to obtain a simulated measurement comparable with the original one. On my own system, I subtract 110 db in REW after convolution, but I suspect this is dependent on the level used to make measurements.

Share this post


Link to post
Share on other sites

Thanks SwissBear. I assume I do that adjustment in the same window as the convolution? Using the "offset data" setting? That's how I've done it for now.

Share this post


Link to post
Share on other sites
9 hours ago, lasker98 said:

Thanks SwissBear. I assume I do that adjustment in the same window as the convolution? Using the "offset data" setting? That's how I've done it for now.

Yes.

Share this post


Link to post
Share on other sites

I'm having a problem following along with SwissBear's guide. I think I've done the first 3 steps ok, but I'm lost on step 4. which reads as follows:

 

"4. Correction finalization
Once you have finalized the phase correction, you can import the initial averaged
measurement in rePhase and apply the REW filters. The result could look like this:"

 

I'm reading "Once you have finalized the phase correction" to mean once I have finished the phase correction in rePhase on the convolved (A*B) extended phase created in step 3. 

 

This part "you can import the initial averaged measurement in rePhase and apply the REW filters" has me lost. What do I do with the phase correction I just completed on the extended phase (shown in screenshot below)? Am I supposed to leave that as is in rePhase and now import my measurement that I eq'd in REW into the open window in rePhase that currently has the corrected excess phase with all settings from that phase correction? I'm sorry for the dumb questions but I'm pretty much lost at this point. I read the full 237 pages from the DIY thread but most of it seemed to be more focused on working with individual crossovers and I wasn't able to find an answer.

 

I've also included my original measurement files for left and right speakers in case they're of any use:

 

LR_Original.mdat.

 

These were initially done in Audiolense and imported into REW.

 

Thanks,

 

Bill 

 

 

R_EP_correction.jpg

Share this post


Link to post
Share on other sites
On 11/18/2017 at 5:38 PM, lasker98 said:

I'm having a problem following along with SwissBear's guide. I think I've done the first 3 steps ok, but I'm lost on step 4. which reads as follows:

 

"4. Correction finalization
Once you have finalized the phase correction, you can import the initial averaged
measurement in rePhase and apply the REW filters. The result could look like this:"

 

I'm reading "Once you have finalized the phase correction" to mean once I have finished the phase correction in rePhase on the convolved (A*B) extended phase created in step 3. 

 

This part "you can import the initial averaged measurement in rePhase and apply the REW filters" has me lost. What do I do with the phase correction I just completed on the extended phase (shown in screenshot below)? Am I supposed to leave that as is in rePhase and now import my measurement that I eq'd in REW into the open window in rePhase that currently has the corrected excess phase with all settings from that phase correction? I'm sorry for the dumb questions but I'm pretty much lost at this point. I read the full 237 pages from the DIY thread but most of it seemed to be more focused on working with individual crossovers and I wasn't able to find an answer.

 

I've also included my original measurement files for left and right speakers in case they're of any use:

 

LR_Original.mdat.

 

These were initially done in Audiolense and imported into REW.

 

Thanks,

 

Bill 

 

 

R_EP_correction.jpg

 

You can just apply the PEQ corrections to the same curve where you've corrected for minimum phase in Rephase. Switch to Paragraphic EQ tab, then load the same settings you used (and saved) for amplitude adjustments, then generate. The resulting curve will include both, phase and amplitude corrections.

 

 

Share this post


Link to post
Share on other sites

Thanks pkane2001. I ended up figuring it out and getting a filter working. I'm quite happy with the result, especially as a first attempt. I do have a few additional questions.

 

1) I'm wondering what the reason is for using a flat target in REW for the EQ (Speaker Type = None, instead of Full Range)

 

2) my excess phase generated from convolving A*B is a flat horizontal line from low to upper hf limit where it falls off at 90 degrees. It would seem there should be some kind of deviation from flat otherwise there is no excess phase to correct? Does mine sound correct?

 

3) once I have the excess phase corrected for phase in rePhase, I then load in my original measurement to apply the saved eq amplitude filter. As soon as I load the measurement, before applying the REW filters, the corrected phase in rePhase shifts up, maybe 90 to 180 degrees. Does that sound normal? Should I be readjusting the phase to correct for that shift before generating the final impulse?

 

4) My original measurement is 48k. I'm using jriver for convolution. Can I just change the rate in rePhase Impulse Settings to 44.1, 88.2 and 96 to create impulses for each sample rate I want to use in jriver, using the same 48k measurement and corrections? (My dac only goes up to 96k). That means I'd have to generate 8 impulses to make my 4 .cfg files for jriver convolver.

 

5) For my first attempt I did separate left and right channel mono corrections for phase (not using same correction for both channels). I read some discussion on using same phase correction for both channels. I'm wondering if there's a real preference on mono for each channel or same correction for both.

 

Thanks.

Share this post


Link to post
Share on other sites
48 minutes ago, lasker98 said:

1) I'm wondering what the reason is for using a flat target in REW for the EQ (Speaker Type = None, instead of Full Range)

 

You can use whatever target (aka house curve) you like. Flat is the expected curve for a completely neutral/transparent system. Some folks, including me, find a little boost in the bass region and a gentle roll-off in the higher frequencies helps. 

 

48 minutes ago, lasker98 said:

2) my excess phase generated from convolving A*B is a flat horizontal line from low to upper hf limit where it falls off at 90 degrees. It would seem there should be some kind of deviation from flat otherwise there is no excess phase to correct? Does mine sound correct?

 

That doesn't sound right. I found that there's very little phase to correct with my headphones, but with my speaker system there were very large deviations. I suspect that you need to use REW to measure. Don't know much about Audiolense, but it looks like phase is either not being recorded or is not being imported correctly in REW.

 

48 minutes ago, lasker98 said:

3) once I have the excess phase corrected for phase in rePhase, I then load in my original measurement to apply the saved eq amplitude filter. As soon as I load the measurement, before applying the REW filters, the corrected phase in rePhase shifts up, maybe 90 to 180 degrees. Does that sound normal? Should I be readjusting the phase to correct for that shift before generating the final impulse?

 

Wait.. I apply the PEQ filters only (not measurement) to the phase-corrected curve. I don't reload the amplitude corrected curve at that step.

48 minutes ago, lasker98 said:

4) My original measurement is 48k. I'm using jriver for convolution. Can I just change the rate in rePhase Impulse Settings to 44.1, 88.2 and 96 to create impulses for each sample rate I want to use in jriver, using the same 48k measurement and corrections? (My dac only goes up to 96k). That means I'd have to generate 8 impulses to make my 4 .cfg files for jriver convolver.

 

Don't know if JRiver convolver has this option, but HQPlayer has a setting to extend the impulse response to the desired frequency. With HQP, I can also use the highest rate impulse with lower frequency playback, so I generate one file at 384Khz/floating point and use that with all of my content.

 

48 minutes ago, lasker98 said:

5) For my first attempt I did separate left and right channel mono corrections for phase (not using same correction for both channels). I read some discussion on using same phase correction for both channels. I'm wondering if there's a real preference on mono for each channel or same correction for both.

 

I generated separate files for each channel, as there's some asymmetry in my speaker system. With headphones, I found that the left and right channel are nearly identical from amplitude and phase perspective, so I used a single impulse file for both.

 

Share this post


Link to post
Share on other sites

Thanks pkane2001. 

 

54 minutes ago, pkane2001 said:

That doesn't sound right. I found that there's very little phase to correct with my headphones, but with my speaker system there were very large deviations. I suspect that you need to use REW to measure. Don't know much about Audiolense, but it looks like phase is either not being recorded or is not being imported correctly in REW.

 

I'm definitely getting phase information in my measurement so I'm pretty sure it's not an issue with the measurement. Just to clarify, I'm generating the excess phase directly from the convolved A*B measurement from Step 3 in SwissBear's guide. Is that the correct procedure? No need to generarte a minimum phase first? I'll redo to double check the steps I followed.

 

1 hour ago, pkane2001 said:

Wait.. I apply the PEQ filters only (not measurement) to the phase-corrected curve. I don't reload the amplitude corrected curve at that step.

 

It seems like I'm still not clear on this step then. It sounds like you're saying you apply the PEQ filters to the same measurement (excess phase of A*B) that you did the phase adjustment on in rePhase.  Here's the description from the guide step 4 (bold added by me):

 

"4. Correction finalization
Once you have finalized the phase correction, you can import the initial averaged
measurement in rePhase and apply the REW filters.
"

 

From that, I took it to mean that once I do the phase correction on the excess phase, then by using those settings on the initial averaged measurement which was imported into the same window as the excess phase measurement with same settings, in rePhase, I then import the REW eq settings (.xml file) for the PEQ correction, which together with the already loaded phase correction settings from the excess phase correction, gives the frequency and phase corrected impulse for that initial averaged measurement. In my case it's not an averaged measurement, it's the measurement imported from Audiolense. I'm just using the "initial averaged measurement" term to be consistent with the guide. Hopefully you (or anyone else) can see what I'm doing wrong, assuming my procedure is wrong.

 

Thanks again for taking the time to respond.

Share this post


Link to post
Share on other sites
16 minutes ago, lasker98 said:

It seems like I'm still not clear on this step then. It sounds like you're saying you apply the PEQ filters to the same measurement (excess phase of A*B) that you did the phase adjustment on in rePhase.  Here's the description from the guide step 4 (bold added by me):

 

"4. Correction finalization
Once you have finalized the phase correction, you can import the initial averaged
measurement in rePhase and apply the REW filters.
"

 

I see what you're doing, and that should work just as well as what I suggested. As long as you have the phase and amplitude corrections loaded into the same session, the generated impulse response will have both.

 

Share this post


Link to post
Share on other sites

Thanks. I'll go through everything again and see if I can figure out what's going on with the flat excess phase measurement. Even with the correction as I did it, compared to the frequency only corrections I did in REW, the improvement with the added phase correction is definitely noticeable. Well worth the time invested.

Share this post


Link to post
Share on other sites
30 minutes ago, lasker98 said:

I'm definitely getting phase information in my measurement so I'm pretty sure it's not an issue with the measurement. Just to clarify, I'm generating the excess phase directly from the convolved A*B measurement from Step 3 in SwissBear's guide. Is that the correct procedure? No need to generarte a minimum phase first? I'll redo to double check the steps I followed.

 

 

That's correct: you compute the excess phase from the A*B measurement (amplitude corrected measurement). Excess phase is the difference between minimum phase and the phase of your amplitude corrected curve, so no need to compute minimum phase first.

Share this post


Link to post
Share on other sites
37 minutes ago, lasker98 said:

Thanks. I'll go through everything again and see if I can figure out what's going on with the flat excess phase measurement. Even with the correction as I did it, compared to the frequency only corrections I did in REW, the improvement with the added phase correction is definitely noticeable. Well worth the time invested.

 

I just looked at your measurements file. It appears that you've imported the data as an impulse response into REW? Can you try importing as a frequency response? Not sure that'll make a difference...

 

EDIT: probably not going to make a difference.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...