PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brutefir Faltrechner, Nachschwinger in Messung



rapherent
17.12.2015, 14:50
Hallo,

ich habe mir einen Faltrechner zusammengebaut, bestehend aus Lenovo M55 und Asus Xonar D2. Ubuntu 15.10 ist installiert.
Brutefir läuft aktuell auf zwei Eingangs- und Ausgangskanälen ohne Filter.
Daran angeschlossen ist mein Messrechner direkt über Klinke.

Leider musste ich feststellen, dass unten angehängte Messungen dabei herauskommen.
Der Abstand zwischen dem ersten und zweiten Peak in der Impulse Response hängt davon ab, wie ich die Filterlänge in der brutefir_config gestalte. Aber er bleibt immer bestehen.

Woran kann das liegen?

Vielen Dank im Voraus!
rapherent

Anbei meine brutefir_config:

## DEFAULT GENERAL SETTINGS 16.12.2015

float_bits: 32; # internal floating point precision
sampling_rate: 96000; # sampling rate in Hz of audio interfaces
filter_length: 4096,16; # length of filters: 4 (not used here ;-)
overflow_warnings: true; # echo warnings to stderr if overflow occurs
show_progress: true; # echo filtering progress to stderr
max_dither_table_size: 0; # maximum size in bytes of precalculated dither
allow_poll_mode: false; # allow use of input poll mode
modules_path: "."; # extra path where to find BruteFIR modules
monitor_rate: false; # monitor sample rate
powersave: false; # pause filtering when input is zero
lock_memory: true; # try to lock memory if realtime prio is set
safety_limit: -0.01; # if non-zero max dB in output before aborting

## LOGIC

logic: "cli" { port: 3000; };

## INPUT DEFAULTS

input "l_in", "r_in" {
device: "alsa" { device: "hw:0"; ignore_xrun: true; };
sample: "S32_LE";
channels: 2/0,1; # number of open channels / which to use
delay: 0,0; # delay in samples for each channel
maxdelay: -1; # max delay for variable delays
subdelay: 0,0; # subsample delay in 1/100th sample for each channel
mute: false,false; # mute active on startup for each channel
};

## OUTPUT DEFAULTS

output "l_out", "r_out" {
device: "alsa" { device: "hw:0"; ignore_xrun: true; };
sample: "S32_LE";
channels: 2/0,1; # number of open channels / which to use
delay: 0,0; # delay in samples for each channel
maxdelay: -1; # max delay for variable delays
subdelay: 0,0; # subsample delay in 1/100th sample for each channel
mute: false,false; # mute active on startup for each channel
dither: false; # apply dither
};

## COEFF DEFAULTS

coeff "l_coeff" {
filename: "/home/ra/brutefir/coeff.txt";
format: "Text"; # file format
attenuation: 0.0; # attenuation in dB
blocks: -1; # how long in blocks
skip: 0; # how many bytes to skip
shared_mem: false; # allocate in shared memory
};

coeff "r_coeff" {
filename: "/home/ra/brutefir/coeff.txt";
format: "Text"; # file format
attenuation: 0.0; # attenuation in dB
blocks: -1; # how long in blocks
skip: 0; # how many bytes to skip
shared_mem: false; # allocate in shared memory
};

## FILTER DEFAULTS

filter "l_Filter" {
inputs: "l_in";
to_outputs: "l_out";
coeff: -1; # -1 means "copy"
process: -1; # process index to run in (-1 means auto)
delay: 0; # predelay, in blocks
crossfade: false; # crossfade when coefficient is changed
};

filter "r_Filter" {
inputs: "r_in";
to_outputs: "r_out";
coeff: -1; # -1 means "copy"
process: -1; # process index to run in (-1 means auto)
delay: 0; # predelay, in blocks
crossfade: false; # crossfade when coefficient is changed
};

The Alchemist
17.12.2015, 17:21
Solche Messung hab ich bei mir noch nie gemacht( ich benutze die gleiche Soundkarte) Vielleicht schaff ich das mal über die Feiertage nachzuholen.

Versteh ich das Richtig, das Du quasi eine Loopback Messung machst? Messungen und Faltung hab ich allerdings auf einem Rechner gemacht. Dazu nutze ich REW.

Gruß

rapherent
17.12.2015, 18:35
Hallo,

danke für deine Antwort.

Ich schleife die Soundkarte meines Faltrechners sozusagen in die Loopback Messung meines Messrechners ein. Im Ideal sollte sie dann so aussehen wie die Loopback Messung meines Messrechners alleine.

Ich habe einen systematischen Fehler gefunden. Ich habe die Soundkarte (Xonar) nicht komplett ausgesteuert, bzw. das Verhältnis zwischen Line Out und Mic (Messrechner) falsch eingestellt. Nun ist der oben zu sehende "Fehler" ca. 80 dB vom Signal entfernt (nach Alsa Range).

Interessant wäre trotzdem woher der Fehler kommt, da er ja noch da ist.
Leider bekomme ich REW auf Ubuntu nicht zum Laufen.

Ist das ein FIR spezifisches Problem?
Wäre schön, wenn das noch einmal überprüft werden würde!?
Hattest du nicht auch eine Xonar D2?

Anbei noch meine Alsa Einstellungen.

Liebe Grüße
rapherent