How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

VB-Cable A & B, HIFI-Cable, ASIO Bridge
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

Do you know how to prevent noise that exceeds Nyquist frequency of input signal when upsampling?

If it is possible to set the same sample rate for input and output of VB-CABLE, this problem does not occur.
However, if sending application(input side of VB-CABLE) dynamically changes sample rate,
receiving application(output side of VB-CABLE) cannot detect the change in sample rate,
so the largest possible sample rate must be set for output side of VB-CABLE.
In that case, VB-CABLE will automatically perform upsampling,
but harmonic noise will occur in frequency band above Nyquist frequency of input signal.

This phenomenon is bound to occur due to the principle of upsampling,
and I understand that the noise is usually suppressed by applying a low-pass filter(interpolation filter).
However, it seems that VB-CABLE does not apply a low-pass filter when upsampling.
(Is this to prevent signal degradation, reduce processing load, or reduce delays?)

It would be ideal if receiving application could apply a low-pass filter,
but receiving application cannot know the sample rate of the original input signal,
it does not know what frequency to set for the low-pass filter.

Do you know any solutions to the above problem?
(For example, specific steps such as applying a low-pass filter inside VB Cable,
using software other than VB Cable (such as Voicemeeter),
detecting the sample rate of the input signal with an external application, etc.
I'm not sure if these are actually possible...)

Note: My English skills are not good enough,
so I am writing this topic with the assistance of machine translation.
Please forgive me if there are any rude expressions.
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

I found a log that may be related to this topic.

Mirrored frequencies
viewtopic.php?p=4281&sid=7a11d8c1586b7d ... 3de0#p4281
This phenomenon seems similar to the problem I want to solve.
When upsampling, a ghost spectrum appears on the high-frequency side with the Nyquist frequency of the input signal as the boundary.
This is bound to occur due to the principle of upsampling.

Current samplerate of Wasapi exclusive / KS / Asio playback
viewtopic.php?p=1141&sid=7a11d8c1586b7d ... 3de0#p1141
I don't want bit-perfect transmission. (I want the upsampling to be accurate.)
However, I think that being able to obtain the sample rate of the input signal in an external application could be one of the solutions.
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

For example, upsampling a 48kHz signal to 96kHz will result in ghosting, as seen in the attached image.
Attachments
upsampling_noise2.png
upsampling_noise2.png (76.74 KiB) Viewed 8329 times
Vincent Burel
Site Admin
Posts: 2147
Joined: Sun Jan 17, 2010 12:01 pm

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Vincent Burel »

As i replied in some other thread, difficult to reply without knowing perfectly your experimental protocol.
our SRC can generate some noise around 60dB or 70dB below the nominal level (which is normally not hearable).
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

VB-CABLE input:
Music streaming service "Qobuz" application
- The application dynamically changes the sample rate to match the audio file.
- WASAPI exclusive mode
Attachments
qobuz.jpg
qobuz.jpg (400.74 KiB) Viewed 8152 times
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

VB-CABLE output:
foobar2000
- Recorder plug-in input
- Fixed at 96kHz/24bit
- WASAPI exclusive mode
Attachments
foobar2000.jpg
foobar2000.jpg (270.8 KiB) Viewed 8152 times
Last edited by Reffi on Tue Jun 10, 2025 4:29 pm, edited 1 time in total.
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

VB-CABLE control panel in play:
Attachments
VBCABLE_ControlPanel.jpg
VBCABLE_ControlPanel.jpg (491.27 KiB) Viewed 8152 times
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

The spectrum analyzer is foobar2000 plugin (foo_vis_spectrum_analyzer).

Of course, I am human. I cannot hear noise with frequencies above 20kHz.
So there is no practical problem, and ignoring the noise may be one solution.
But if upsampling is performed according to the proper procedure, wouldn't this kind of noise not occur?
In general, the upsampling process applies a low-pass filter to cut signals above the Nyquist frequency of the input signal.

(I understand that a perfectly ideal low-pass filter cannot exist in reality due to theoretical constraints.
Even if it is a digital process. A perfect low-pass filter without a transition band cannot have a finite response time.
Therefore, some compromise is required to implement the filtering process, and I understand that not everyone will be satisfied with the quality.
Also, low-pass filters create a phase delay. This may delay the output of the cable.
If you are just listening to music, the delay is not a problem, but it may create new problems for other uses.
If the current implementation was decided after taking into consideration a variety of factors, I respect that decision.)
Vincent Burel
Site Admin
Posts: 2147
Joined: Sun Jan 17, 2010 12:01 pm

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Vincent Burel »

ok, thanks for bringing some screenshot.

1- My first reply was about the fact i did not see any reason to get noise above -70 dB , if present, it means there is another problem in the audio chain.
2- I don't know foobar, i recommend to use our Spectralissime instead: https://vb-audio.com/Spectralissime/index.htm (but it's 20-20KHz only right - i need to update this tool).
3- There is a strange Error DMA F/H 0/63 on VB-CABLE output (Control Panel) meaning a serious audio stack problem or bad way to capture audio from the VB-Cable recording device.
Reffi
Posts: 9
Joined: Thu Jun 05, 2025 3:11 am

Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling

Post by Reffi »

I tried installing Spectralissime.
(As you say, the problem occurs above 20kHz, so it seems unsuitable for verifying this topic.)
Attachments
Spectralissime.jpg
Spectralissime.jpg (368.16 KiB) Viewed 6925 times
Post Reply