Uniform은 rectangular 인 것 같고(1이니까)

그 외에는... Energy correction은 어떻게 써먹어야 하려나?

 

 

[링크 : https://community.sw.siemens.com/s/article/window-correction-factors]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

tek.com fft 관련 문서  (0) 2023.07.19
sfft  (0) 2023.07.12
fft window 함수  (0) 2023.07.03
pFFFT 사용법  (0) 2023.06.15
fft 결과의 amplitude가 0.5가 나오는 이유  (0) 2023.06.13
Posted by 구차니

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

sfft  (0) 2023.07.12
fft window type과 진폭 보정계수  (0) 2023.07.04
pFFFT 사용법  (0) 2023.06.15
fft 결과의 amplitude가 0.5가 나오는 이유  (0) 2023.06.13
overlap kissfft  (0) 2023.06.12
Posted by 구차니
프로그램 사용/nc2023. 6. 23. 15:22

원하는건 좀 달라서 수정이 필요한데.. 아이디어는 아래 글에서 발견

while echo "hello"; do
  sleep 20
done | nc -q 192.168.100.161 2612

[링크 : https://stackoverflow.com/questions/44078540]

 

echo는 while 문에서 주기적으로 생성하고

done 에서 파이프 라인으로 연결해주면 끝!

$ cat nc2.sh 
target=192.168.0.100

while [ 1 ]
do
  echo -n -e "\x01\x02\x03\x04\x05\x06"
  sleep 1
done | nc ${target} 6000 | hexdump -C

'프로그램 사용 > nc' 카테고리의 다른 글

nc 엔터 없이 보내기  (0) 2024.01.17
nc -k 옵션  (0) 2021.11.19
Posted by 구차니

 

 

나중에 한번 다시 시도해볼까..

[링크 : https://getmovie.tistory.com/entry/리눅스로-만능-PXE-서버-만들기-1]

 

'프로그램 사용 > PXE(네트워크 부트)' 카테고리의 다른 글

DHCP hostname  (0) 2020.10.14
DHCP / BOOTP / TFTP  (4) 2010.04.27
PXE 부팅하기  (0) 2010.04.25
PXE를 통한 우분투/XP 설치  (0) 2009.12.09
Posted by 구차니

 

[링크 : https://www.redhat.com/en/blog/inception-how-usable-are-nested-kvm-guests]

 

성능에 대한 고려사항

하드웨어 지원 중첩된 가상화의 경우에도 중첩된 VM은 CPU에 종속된 워크로드의 경우 성능이 10% 이상 저하되고, 입력/출력에 종속된 워크로드는 성능이 10% 넘게 저하될 수 있습니다.

[링크 : https://cloud.google.com/compute/docs/instances/nested-virtualization/overview?hl=ko]

 

 

# cat /etc/modprobe.d/kvm-nested-module.conf
options kvm-intel nested=1
# cat /sys/module/kvm_intel/parameters/nested
Y

[링크 : https://chhanz.github.io/linux/2019/12/30/enable-kvm-nested-virtualization/]

'프로그램 사용 > kvm(virt-manager)' 카테고리의 다른 글

kvm cpuinfo proc hide  (0) 2020.01.19
kvm ubuntu Xorg cpu 100% 문제  (0) 2019.10.10
kvm/qemu 로그 위치  (0) 2019.10.07
kvm core 을 guest에 할당하기(affinity)  (0) 2019.08.28
virsh host only network  (0) 2019.07.09
Posted by 구차니

자세한 설명이 없어서 대충 혼돈의 카오스중..

pffft_transform()이 가장 처음 접하는 함수이긴 한데 이걸로 하니 1Hz가 아니라 4Hz에 진동이 있는걸로 검출이 되서

pffft_transform_ordered()로 바꾸니 의도한 대로 분석이 되서 일단 쓰는데, 무슨 차이인진 모르겠다.

 

int n = 32000;
int nc = ( n / 2 ) + 1;

int Nfloat = n;
int Nbytes = Nfloat * sizeof(float);

float *X = pffft_aligned_malloc(Nbytes);
float *Y = pffft_aligned_malloc(Nbytes);
float *Z = pffft_aligned_malloc(Nbytes);

PFFFT_Setup *s = pffft_new_setup(n, PFFFT_REAL);

for(int i = 0; i < 8; i++)
    pffft_transform_ordered(s, X, Z, 0, PFFFT_FORWARD);
for ( i = 0; i < nc; i++ )
    printf ( "  %3d,%12f,%12f,%12f,%12f,%12f\n", i, Z[i*2], Z[i*2+1],  
        sqrt(Z[i*2] * Z[i*2] +  Z[i*2+1] * Z[i*2+1]),
        atan2(Z[i*2+1], Z[i*2]),
        atan2(Z[i*2+1], Z[i*2]) * 180 / PI
    );

pffft_aligned_free(Z);
pffft_aligned_free(Y);
pffft_aligned_free(X);
pffft_destroy_setup(s);

[링크 : https://bitbucket.org/jpommier/pffft/src/master/]

 

성능비교 테스트. pffft가  double을 미지원하는 것을 제외하면 최소 4배는 빠르게 처리한다고 보면 될 듯.

(complex는 double이 되긴 한데 real은 float만 되는 듯?)

fftw
2023-06-15 02:40:48.089
2023-06-15 02:40:48.109 --- plan 생성 20ms
2023-06-15 02:40:48.133 --- 32k 8ch 연산 23~24ms

pffft
2023-06-15 02:40:48.136
2023-06-15 02:40:48.139 --- plan 생성 3ms
2023-06-15 02:40:48.146 --- 32k 8ch 연산 6~7ms

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fft window type과 진폭 보정계수  (0) 2023.07.04
fft window 함수  (0) 2023.07.03
fft 결과의 amplitude가 0.5가 나오는 이유  (0) 2023.06.13
overlap kissfft  (0) 2023.06.12
fft size overlap window size  (0) 2023.06.12
Posted by 구차니
프로그램 사용/synergy2023. 6. 15. 10:27

접속도 다 정상적으로 되는데 마우스가 안넘어 간다.

그래서 찾아보니 barrier가 wayland를 지원하지 않아 발생하는 문제일 듯.

 

아무튼 로그인 시에 세션을 ubuntu x.org로 선택하니 문제없이 작동한다.

[링크 : https://github.com/debauchee/barrier/issues/1659]

 

하여간에.. 멀 하던.. wayland는 갈길이 먼가...

'프로그램 사용 > synergy' 카테고리의 다른 글

synergyc - synergy client for linux  (2) 2010.03.20
시너지 (Synergy) for linux  (4) 2010.01.15
시너지 (Synergy) - KVM 프로그램(?)  (4) 2009.11.13
Posted by 구차니

이산 푸리에 변환 자체가 원래 그런거다.. 라는 의미인가?

Because the discrete Fourier transform matches the input signal with complex exponentials and a cosine is the sum of two complex exponentials divided by 2. The same is true of a sine (except it's divided by 2i)
That is where the factor of 1/2 is coming from. Since you have a real-valued signal, if you are only interested in looking at the magnitude, you can just keep the "positive" frequencies and scale them by 2.
ThemeCopy

[링크 : https://kr.mathworks.com/matlabcentral/answers/84141-why-fft-function-returns-amplitude-divided-by-2]

 

수식을 흐린눈으로 봐도.. 모르겠다.

[링크 : https://en.wikipedia.org/wiki/Discrete_Fourier_transform]

 

fftw 가 실제로 계산하는 것이라는데 수식상으로는 e^-2 밖에 눈에 안띄는데 어떤 부분이 divide by 2 부분일까?

The forward (FFTW_FORWARD) discrete Fourier transform (DFT) of a 1d complex array X of size n computes an array Y, where:


.The backward (FFTW_BACKWARD) DFT computes:.

[링크 : https://www.fftw.org/fftw3_doc/The-1d-Discrete-Fourier-Transform-_0028DFT_0029.html]

 

 

+

2023.06.16

이해를 못하고 있었는데 아래글을 읽고 아! 싶어졌다.

 

Size of FFT in 1D is not half of the signal length. It's still the signal length (assuming FFT length was of the signal length). However for real data, due to conjugate symmetryhalf of this is redundant and can be dicarded to reduce storage. Note however that, when it's required to process the FFT data, you have to construct the full length from the half and proceed.

This is also the reason why spectral analysis software display only positive frequencies for real data; i.e, negative frequencies will be a mirror copy (of the magnitude) of positive frequencies.

But you don't have to discard the half. You can just retain it.

For image processing, the symmetry of FFT for real input data again exist and if you wish you can also dicard half of the image FFT data. Whether this will be employed or not depends on the intentions of the package.

아니요.

1D에서 FFT의 크기는 신호 길이의 절반이 아닙니다. 여전히 신호 길이입니다(FFT 길이가 신호 길이라고 가정). 그러나 실제 데이터의 경우 공액 대칭으로 인해 이 중 절반이 중복되며 저장 공간을 줄이기 위해 버려질 수 있습니다. 단, FFT 데이터 처리가 필요한 경우 절반에서 전체 길이를 구성하여 진행해야 합니다.

이것이 스펙트럼 분석 소프트웨어가 실제 데이터에 대해 양의 주파수만 표시하는 이유이기도 합니다. 즉, 음수 주파수는 양수 주파수의 (크기의) 거울 사본이 될 것입니다.

그러나 절반을 버릴 필요는 없습니다. 그대로 유지하시면 됩니다.

이미지 처리의 경우 실제 입력 데이터에 대한 FFT의 대칭이 다시 존재하며 원하는 경우 이미지 FFT 데이터의 절반을 버릴 수도 있습니다. 이것이 사용될지 여부는 패키지의 의도에 따라 다릅니다.

[링크 : https://dsp.stackexchange.com/questions/55239/why-is-the-size-of-results-from-fft-half-the-size-of-the-input-while-that-is-no]

[링크 : https://brianmcfee.net/dstbook-site/content/ch06-dft-properties/Conjugate-Symmetry.html]

 

예전 mathwork 에서 double sided amplitude 라는 그래프가 있었는데

실제로 FFT 변환은 -N/2 ~ 0 ~ N/2 대역에 대해서 나오지만

부호만 다를뿐 대칭된 정보이기에 메모리가 귀하던 시절 메모리 절약을 위해 절반을 휙~ 날려 버린 듯.

그래서 FFT 변환(? DFT?)을 하면 일반적으로 0~N/2 까지의 주파수가 나오고, 그걸 대칭시켜서 써야 하는 듯.

 

[링크 : https://kr.mathworks.com/help/matlab/ref/fft.html]

 

이해가 갈 듯.. 안 갈 듯 한데

복소수 공간에서 대칭적으로 나오기 때문에 한쪽만 계산하면 다른쪽 벡터가 없어서 절반 길이만 나온다고 보면 될 것 같기도?

[링크 : https://brianmcfee.net/dstbook-site/content/ch06-dft-properties/Conjugate-Symmetry.html]

 

+

켤례 복소수 하니 먼가 단어가 익숙한 느낌 (-_-)

실수를 복소수로 바꾸는건 허수가 0인 걸로 바꾸면 되는거고

켤레 복소수는 실수는 냅두고 허수부 부호만 뒤집으면 된다고.

공액(켤레) 복소수 

[링크 : https://kwon-jjing.tistory.com/40]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fft window 함수  (0) 2023.07.03
pFFFT 사용법  (0) 2023.06.15
overlap kissfft  (0) 2023.06.12
fft size overlap window size  (0) 2023.06.12
fftw 라이브러리 사용 테스트  (0) 2023.06.12
Posted by 구차니

fftw에서 overlap 하는 예제는 못 찾았고

kissfft를 이용해서 (bsd-3 clause) 하는 예제도 아니고 걍.. git 발견

 

아무튼 아래와 같이 입력을 중첩하고 결과를 낸다는데

그림을 봐도 어떻게 데이터를 구성하고 합쳐내는지 감이 안온다.


overlap add
input

output


[링크 : https://github.com/fbdp1202/DSP_Overlap-Save_Overlap_Add]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

pFFFT 사용법  (0) 2023.06.15
fft 결과의 amplitude가 0.5가 나오는 이유  (0) 2023.06.13
fft size overlap window size  (0) 2023.06.12
fftw 라이브러리 사용 테스트  (0) 2023.06.12
fft 잘못 사용하고 있었나?  (0) 2023.06.02
Posted by 구차니

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fft 결과의 amplitude가 0.5가 나오는 이유  (0) 2023.06.13
overlap kissfft  (0) 2023.06.12
fftw 라이브러리 사용 테스트  (0) 2023.06.12
fft 잘못 사용하고 있었나?  (0) 2023.06.02
fft 라이브러리 목록  (0) 2023.06.01
Posted by 구차니