Wurzeln eines FIR Filters

Gast #390168
Lesenswert?

Ich möchte anhand des "roots" Befehl in Matlab die Wurzeln eines FIR
Filters von grad 1000000 berecnen lassen.
MATLAB gibt mir folgendes:

??? Error using ==> diag
Out of memory. Type HELP MEMORY for your options.

Error in ==> C:\MATLAB6p1\toolbox\matlab\polyfun\roots.m
On line 37  ==>     a = diag(ones(1,n-2),-1);

Ich bin dankbar für jede Hilfe, oder für jede andere Idee wie kann man
die Wurzeln anders berechnen!
Gast #390170
Lesenswert?

Ergänzung:

'help memory' :

    If the OUT OF MEMORY error message is encountered, there is
    no more room in memory for new variables. You must free up
    some space before you may proceed. One way to free up space
    is to delete some variables (see CLEAR). Another is to
    issue the command PACK (See PACK). PACK compresses the data
    in memory, opening up larger contiguous blocks.
Gast #390171
Lesenswert?

Ich kann leider in Hardware(Memory) nichts ändern.
"pack" habe ich auch probiert, geht aber nicht :(
Ich habe versucht das ganze System (Filtern) zu transformieren um mehr
Anzahl von Filtern aber mit kleineren grad zu bekommen: Rein
mathematisch machbar, aber ich habe das Problen daß die neuen Filtern
nicht kausals oder IIR sind.

Vielen Dank für jede Antwort.
Gruß
Gast #390172
Lesenswert?

7450 GByte Speicher brauchste. Matlab macht roots vermutlich mit
Eigenwertmethode, bei 10^6 Ordnung hat die Matrix 10^12 Elemente mal
8Byte macht 7450GByte. Nur nen Witz. So brutal die Wurzeln des Polynoms
zu berechnen geht vermutlich nich, mit Matlab oder ohne. Da mußte Dir
was anderes überlegen.

Cheers
Detlef
Gast #390173
Lesenswert?

Darf man die Sinnfrage stellen?

Wenn du nicht gerade mit 128-256 Bit (oder mehr) Genauigkeit rechnest
macht in der Praxis eine solche Filterordnung wohl kaum Sinn. Von
Laufzeiten möchte ich garnicht sprechen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren