[hpsdr] WELCH_WINDOW in Kiss Konsole
Helmut
dc6ny at gmx.de
Wed Dec 28 09:21:28 PST 2016
Hi Georg,
why do you think, that the Dolph-Chebyshev window would be an ideal window
function? I would rate the constant (not decreasing) amplitude of the side
lobes at the stop band as big disadvantage.
73, Helmut, DC6NY
-----Ursprüngliche Nachricht-----
Von: Hpsdr [mailto:hpsdr-bounces at lists.openhpsdr.org] Im Auftrag von georg
Prinz
Gesendet: Mittwoch, 28. Dezember 2016 14:43
An: hpsdr at lists.openhpsdr.org
Betreff: Re: [hpsdr] WELCH_WINDOW in Kiss Konsole
***** High Performance Software Defined Radio Discussion List *****
Hi All,
inspired by Roger, I went through all the various window functions and
realized that I never encountered the Dolph-Chebyshev window in a real
application. Looking at the fourier transform, this should be an ideal
function, isn`t it?
Does anybody have an idea why this function is not used in tecnical
applications or did I miss it, only?
73,
Georg,
dl2kp
Am 24.12.2016 um 03:05 schrieb Roger Rehr W3SZ:
> ***** High Performance Software Defined Radio Discussion List *****
>
> Hi All,
>
> I am sending this to the list as I wasn't sure whom among the many folks
> starting with Phil Harman who did such a great job giving us Kiss
> Konsole was the person to contact regarding the WELCH_WINDOW filter type
> in Kiss Konsole. I figured that whether it is Phil or someone else who
> knows that section of the code, that person would be monitoring this list.
>
> I have used Kiss Konsole as the basis for some homebrew software that
> I've been using / playing with over the past couple of years.
>
> Over the past day I was comparing the filters included in this software
> and I discovered that the WELCH_WINDOW type of filter doesn't work. I
> believe this is because of a typo.
>
> The code in Kiss Konsole's FilterDesigner.cs for this filter (around
> line 146) reads:
>
> case WindowType_e.WELCH_WINDOW:
> for (i = 0, j = size - 1; i <= midn; i++, j--)
> window[j] = (window[i] = 1.0F -
> (float)Math.Sqrt((float) (i - midm1) / (float) midp1));
>
> I believe that it should read:
>
>
> case WindowType_e.WELCH_WINDOW:
> for (i = 0, j = size - 1; i <= midn; i++, j--)
> window[j] = (window[i] = 1.0F -
> (float)Math.Pow((float) (i - midm1) / (float) midp1),2));
>
> After I made this change, the Welch window appears to work OK.
> I am certainly not a DSP expert, so I could be wrong. The reference for
> my suggested change is:
> https://en.wikipedia.org/wiki/Window_function#Welch_window
>
> Comments appreciated.
>
> 73,
>
> Roger Rehr
> W3SZ
>
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help:
http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
>
---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus
_______________________________________________
HPSDR Discussion List
To post msg: hpsdr at openhpsdr.org
Subscription help:
http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
HPSDR web page: http://openhpsdr.org
Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
More information about the Hpsdr
mailing list