[ot][spam][random][crazy][random][crazy]
Undescribed Horrific Abuse, One Victim & Survivor of Many
gmkarl at gmail.com
Wed Nov 16 11:30:29 PST 2022
for generating a real-domain forward fourier matrix, i'm working on
massaging the inverse of the complex-domain inverse matrix. atm it
isn't working. it's 1228. i have another task building in me. i am
close to stabilising this!
1238
1241
1242
it's quite hard to stay here. i've changed some veriable names to
clarify things.
the next step looks like it would be to do out the matrix
multiplication of the inverse by inverse frequency data.
1253
okay, so the real-domain spectrum is eqiuvalent to a complex-domain
spectrum where the negative frequencies are the complex conjugates of
the positive.
then, how do i craft a matrix that treats its input as if it is a
complex conjugate pair? is this something that is done?
it can form a linear combination of the input.
the input is mostly complex conjugate pairs.
... wait i think i am actually already doing that, in the working
freq2time code.
then time2freq is where it generates that complex data.
so, previously it was generating complex conjugate pairs
and i massage it so that it generates basically only half that data
for the now-called inverse_mat, columns contained frequencies, rows
contained samples
rows are the first index, so that's samples,frequencies
and it output frequencies? no, it output samples, from frequencies
now we're in the now-called forward_mat, so columns will contain
samples, and rows will contain frequencies, and it will output
frequencies.
the indexing will be [frequencies, samples] in the mat.
1259
no it looks like it is [samples, frequencies] >(
it must have been [frequencies, samples] in the inverse mat. right ...
columns contain frequencies, so selecting which row selects which
frequency. ... i get it some.
[samples, frequencies] in this mat.
1303
1305
i successfully produced a frequency by hand by averaging the two complex rows
1307
but then i realised, when i average them, i lose the phase information.
rather than averaging them i just need to truncate the matrix so it
only outputs the first few items 0o. 0o is 0,o with the eyes squeezed
together.
1308
1314
the failing assertion is now passing. I'm using this to convert from a
complex-input fft matrix to a real-input fft matrix:
169 forward_mat = np.concatenate([
170 forward_mat[:,:tail_idx],
171 forward_mat[:,tail_idx:neg_start_idx].conj()
172 ], axis=1)
The .conj() line is for the nyquist frequency; I have not tested that yet.
1318
the new tests i added are passing now, but not the
insertion/extraction that uses a custom wavelet function. which makes
sense, since my real-domain stuff all assumed complex sinusoids.
first i'll add an assertion for the nyquist frequency.
1429
the assertion for the nyquist frequency passed.
next would be the real-domain wave function not succeeding with the
real-domain inverse matrix.
attaching and sending
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fourier.py
Type: text/x-python
Size: 12742 bytes
Desc: not available
URL: <https://lists.cpunks.org/pipermail/cypherpunks/attachments/20221116/0e33b248/attachment-0001.py>
More information about the cypherpunks
mailing list