Ich versuche herauszufinden, wie die 'ideale' FIR-Filterlänge sein sollte, angesichts der Pulslänge einer Sinuskurve mit Fenster im Rauschen, die ich filtern möchte .
Als Parameter für einen FIR-Filter, den ich entwerfe, habe ich:
, Die Mittenfrequenz. (Dies ist die Trägerfrequenz des Signals). Ich weiß das.
Da dies eine BPF-FIR ist, gebe ich das Durchlassband als bis . Dies liegt daran, dass die Bandbreite der Sinuskurve mit Fenstern
Der letzte Parameter, von dem ich nicht genau weiß, wie er spezifiziert werden soll, ist die Länge dieser FIR ... hier bin ich verloren. Was ist hier die ideale Länge (falls vorhanden?) ... Sollte es nur die Länge des Impulses sein (natürlich in Samples), wodurch es so etwas wie ein angepasster Filter wird? Bedeutet dies, dass ich keine weiteren Gewinne bei der Erhöhung der Filterlänge habe?
Als weiteren Kontext suche ich diese "ideale" Länge, falls sie existieren sollte, weil ich versuche, so viel Rauschen wie möglich herauszufiltern, aber auch mein Bestes zu geben, um die scharfen Transienten beizubehalten. Dies hat mich zu der Frage veranlasst, ob es eine ideale Filterlänge gibt, von der aus ich beginnen kann. In der folgenden Darstellung habe ich beispielsweise eine verrauschte Version meines Signals mit Filtern der Länge 11 (rot) bzw. 171 (schwarz) gefiltert . Sie sind unten gezeigt:
Wie Sie sehen können, ist das schwarze Ergebnis zwar "glatter", aber Sie können sehen, dass es auch in Bezug auf seine Transienten "verschmierter" ist. Im Gegensatz dazu behält das Rot immer noch etwas Rauschen bei, aber Transienten sind nicht so betroffen.
Das folgende Diagramm zeigt die Spektren der obigen Filter:
TLDR: Gibt es also eine "ideale" Länge für FIR-Filter, insofern, als eine weitere Erhöhung der Filterlänge Ihnen keine Rauschimmunität mehr verschafft , aber Ihre Transienten möglicherweise sogar noch mehr als nötig verschmiert?
BEARBEITEN:
Ich habe zwei neue Bilder hinzugefügt. Der erste hat einen Filter der Länge 11 (rot), einen Filter der Länge 171 (schwarz) und einen Filter der Länge 901 (blau). Das dicke Blau ist das Spektrum der Daten.
Hier sind die entsprechenden Ergebnisse für den Filter der Länge 11 (rot) und den neuen Filter der Länge 901 (schwarz).
quelle
Antworten:
Ich wandle einige meiner Kommentare von oben in diese Antwort um:
Wenn Sie versuchen, das Vorhandensein einer Impulsform auf dem AWGN-Kanal zu erfassen , verwendet der optimale Detektor einen Filter, der an die Impulsform angepasst ist (treffend als angepasster Filter bezeichnet ). Dies maximiert das Signal-Rausch-Verhältnis (SNR) am Ausgang des Filters und liefert somit die beste Erkennungsstatistik. Dieser Ansatz entspricht einer gleitenden Kreuzkorrelation der Pulsform mit dem beobachteten Signal, die mathematisch wie folgt ausgedrückt wird:p(t) p(t)
wherex(t) is the observed signal and d(t) is the resulting detection statistic.
The main problem, therefore, consists of selection of an appropriate threshold that can be used to determine where the pulses of interest occur inx(t) . Specifically, one would indicate a detection when d(t)>T , where T is a threshold used to balance between two opposing performance metrics: probability of detection Pd and probability of false alarm Pfa . Here is a link to a previous answer where I talk about the tradeoff a bit more. Target values for these metrics would be chosen according to the requirements for your specific application.
For this case, we can come up with general expressions forPd and Pfa pretty easily:
Probability of false alarm: A "false alarm" indicates a case where the detector reports the presence of the target pulsep(t) when it is in fact not present. Since we've defined the channel to be AWGN, that means that for a false alarm, the input signal x(t) is a white Gaussian noise (WGN) process. Without loss of generality, we will assume that noise to be zero-mean with variance σ2 .
To determinePfa , we are concerned with what the signal at the output of the matched filter looks like. Recall that d(t) is defined as:
Assuming thatx(t) is a white Gaussian noise process with variance σ2 , it can be shown that d(t) will also be Gaussian, with a variance equal to:
That is, the variance at the output of the matched filter is just scaled by the total energy of the pulse waveformp(t) . The detection statistic d(t) is then just a Gaussian process with variance σ2d . The probability of a false alarm at any given time t is equal to the probability that the detection statistic exceeds the threshold T . Using the properties of the Gaussian distribution, we can write this as:
whereFd(d) is the cumulative distribution function (CDF) of the Gaussian distribution and Q(x) is the Q-function.
Probability of detection: This case differs from the false-alarm case in that the signal of interest is present. Specifically, we examine the situation where the matched filter is perfectly aligned with the pulse of interest. The same noise component that we analyzed previously is present, but the autocorrelation of the desired pulse shape gives it a non-zero mean. This mean is equal to the total energy of the pulse waveform:
The probability of detection, therefore, is the probability that the detection statistic exceeds threshold:
The design process would then look like this:
Select an operating range for your detector, defining a minimum signal-to-noise ratio (or equivalently, a maximum noise varianceσ2 ) at which you will operate.
Assuming the worst-case conditions (i.e. the maximum noise level), select a thresholdT that meets either your required Pd or Pfa (whichever is more important to you).
Plug the resulting value forT into the other equation to determine your predicted performance metrics.
This is a pretty high-level treatment of the problem, and if you get down to business trying to build something that works practically, you'll run into some other details of note:
One thing that may be relevant for your problem of detections sinusoids is that it's likely that the received pulses will be at some unknown starting phaseϕ relative to your template pulse shape p(t) . You would then observe a reduction in the correlation peak based on the amount of phase offset, which will wreak havoc with your detector's performance. If that is the case, a noncoherent detector is a better approach:
wherepQ(t) is a 90-degree shifted (or quadrature) version of the template sinusoidal pulse. The statistics of this case are slightly different and are left as an exercise for the interested reader.
The above treatment assumes that the pulse is received inx(t) at the same power level as the template p(t) , which is almost certain to be untrue. Two ways to approach this complication come to mind: either use some sort of automatic gain control (AGC) process in order to steer the received power level to what you would expect, or you can make T an adaptive threshold that adjusts itself relative to the observed signal (e.g. you could try to estimate the background noise variance σ2 and then set T appropriately).
quelle
In order to obtain the "best" filter you need to go through a few steps
quelle
The FIR filter length will determine the accuracy of the FIR filter. The FIR filter is an approximation of the optimum filter response (which is for you to decide) and shouldn't be tied to the "pulse" duration. The longer the FIR filter, the more coefficients you have, the more accurately the filter magnitude response will conform to your specifications. There are two other issues to consider. You have to consider the phase response because that can distort the shape of the demodulated pulse. You may already be doing this, but I think you probably want your FIR filter to have linear phase. Additionally as you increase the length of the FIR filter, you will add delay from input to output, so you don't want to just shoot for the moon in terms of filter length. So in terms of optimal length, you have to find a happy medium between accuracy and response time.
quelle