libfftw3 만 있는 줄 알았는데 yocto에서 이상한(?) l d 이런 붙는게 있다고 해서 찾아보니

double / long / quad / single 이라는 이상한(?) 정밀도가 존재한다.

$ apt-cache search libfftw*
libfftw3-double3 - Fast Fourier Transforms 계산용 라이브러리 - 이중 정밀도
libfftw3-long3 - Library for computing Fast Fourier Transforms - Long precision
libfftw3-quad3 - Library for computing Fast Fourier Transforms - Quad precision
libfftw3-single3 - Library for computing Fast Fourier Transforms - Single precision
libfftw3-bin - Library for computing Fast Fourier Transforms - Tools
libfftw3-dbg - Library for computing Fast Fourier Transforms - debug symbols
libfftw3-dev - Library for computing Fast Fourier Transforms - development
libfftw3-doc - Documentation for fftw version 3
libfftw3-3 - Fast Fourier Transforms 계산용 라이브러리
libfftw3-mpi-dev - MPI Library for computing Fast Fourier Transforms - development
libfftw3-mpi3 - MPI Library for computing Fast Fourier Transforms
libgnuradio-fft3.7.11 - gnuradio fast Fourier transform functions
sndfile-tools - Collection of programs for operating on sound files

 

Link to the single/long-double libraries; on Unix, -lfftw3f or -lfftw3l instead of (or in addition to) -lfftw3. (You can link to the different-precision libraries simultaneously.)
Include the same <fftw3.h> header file.
Replace all lowercase instances of ‘fftw_’ with ‘fftwf_’ or ‘fftwl_’ for single or long-double precision, respectively. (fftw_complex becomes fftwf_complex, fftw_execute becomes fftwf_execute, etcetera.)
Uppercase names, i.e. names beginning with ‘FFTW_’, remain the same.
Replace double with float or long double for subroutine parameters.

[링크 : https://www.fftw.org/fftw3_doc/Precision.html]

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

partial fft  (0) 2023.04.04
fftw plan  (0) 2023.03.31
spectrogram  (0) 2023.03.29
fft 분석 패러미터  (0) 2023.03.29
FFT 윈도우, 오버랩  (0) 2023.03.23
Posted by 구차니
Linux2023. 3. 30. 10:12

라인단위로 저장되어 있는 파일이 길 경우

엑셀등의 파일에서 읽어들여 그래프 그리려고 하면 힘든데

일부만 추려내서 뽑으려고 할때 사용하려고 찾는 중

 

awk랑 sed로도 가능하다고

다만, n 번째가 클 경우 awk가 유리하다.

$ awk '!(NR%3)' file
$ sed -n 'n;n;p;' file

[링크 : http://underpop.online.fr/u/unix-school/guru-prasad/how-to-print-every-nth-line-in-file-in.htm]

'Linux' 카테고리의 다른 글

lvmcache bcache  (0) 2023.07.27
sysfs ethernet link status  (0) 2023.05.17
bash completion  (0) 2023.03.27
리눅스 키보드로 강제 종료하기  (0) 2023.03.10
shopt nohup  (0) 2023.01.27
Posted by 구차니

 

尹대통령 "후쿠시마 오염수 방류, 한국 국민에게 이해 구하겠다"

[링크 : https://v.daum.net/v/20230330073606295]

 

대통령실 "후쿠시마산 수산물이 국내 들어올 일 결코 없을 것"

[링크 : https://v.daum.net/v/20230330100713077]

 

'개소리 왈왈 > 정치관련 신세한탄' 카테고리의 다른 글

mpox  (0) 2023.04.09
만우절  (0) 2023.04.01
성숙한 국민의식…'친일몰이'에도 윤대통령 지지율 1%p 상승  (0) 2023.03.24
3.1절  (0) 2023.03.01
외근이.잦아..  (0) 2023.02.28
Posted by 구차니
개소리 왈왈/블로그2023. 3. 29. 23:52

대문자에서 소문자로 바뀌었다?

 

[링크 : https://t1.daumcdn.net/tistory_admin/static/top/pc/img_common_tistory_230106.png]

'개소리 왈왈 > 블로그' 카테고리의 다른 글

도메인 결제  (0) 2023.06.02
블로그 방문자 수  (2) 2023.05.08
이글루스 서비스 종료 공지  (2) 2023.03.14
해피빈 기부  (0) 2023.02.17
티스토리 약관 개정.. 이것 봐라?  (0) 2023.01.04
Posted by 구차니

rtl-sdr에서 gqrx나 airspy sdr# 에서 처럼

주파수에 대한 그래프를 시간축으로 그리는 걸 spectrogram 이라고 하는 듯

 

[링크 : https://blog.freifunk.net/2017/06/26/choosing-spectrogram-visualization-library-javascript/]

[링크 : https://www.arc.id.au/Spectrogram.html]

 

에러 발생

[링크 : https://github.com/sebleier/spectrogram.js]

 

speccy - 오디오 초기화 문제 발생(linux google-chrome, firefox)

[링크 : https://github.com/drandrewthomas/Speccy]

 

+

정책 변경, deprecated로 인해서 먼가 손을 대긴 해야 할 듯

[링크 : https://sxbxn.tistory.com/12]

[링크 : https://developer.chrome.com/blog/autoplay/#webaudio]

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

fftw plan  (0) 2023.03.31
libfftw3 precision  (0) 2023.03.30
fft 분석 패러미터  (0) 2023.03.29
FFT 윈도우, 오버랩  (0) 2023.03.23
cabs()  (0) 2023.02.15
Posted by 구차니

FFT Size

FFT overlap

FFT windowing

 - leakage

[링크 : https://scribblinganything.tistory.com/532]

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

libfftw3 precision  (0) 2023.03.30
spectrogram  (0) 2023.03.29
FFT 윈도우, 오버랩  (0) 2023.03.23
cabs()  (0) 2023.02.15
FFT 분석 기법  (0) 2023.02.07
Posted by 구차니
embeded/FPGA - ALTERA2023. 3. 28. 19:45

 

2. Executable code is stored in the EPCS. This is according to your second attempt: 
 
--- Quote Start ---  
I changed the reset vector to EPCS controller, it still doesn't work 
--- Quote End ---  
 
In this case the epcs_flash_controller is nesessary in your system. The reset vector must point to the epcs_flash_controller, which contains the bootcopier code. The exeption vector must point to On-Chip RAM because your .text segment is still located there. 
After power is up, NiosII start the execution of the bootcopier code from epcs_flash_controller internal ROM. This bootcopier gets application executible code from EPCS and stores it into On-Chip RAM. After bootcopier has finished its work the control passes to the application executible code in the On-Chip RAM.

[링크 : https://community.intel.com/t5/Nios-II-Embedded-Design-Suite/how-to-embeded-the-Nios-software-into-FPGA-sof-file/m-p/150842]

 

1.5.5. Nios II Processor Application Copied from EPCS Flash to RAM Using Boot Copier
The EPCS address space is not mapped into the Altera Avalon EPCS Flash Controller’s Avalon MM slave interface. Instead, read or write accesses are done through CSRs. Upon system reset, the EPCS device needs to be initialized before usage.

For these reasons, the EPCS controller-based boot copier is required for initializing the EPCS device and copying the Nios II application to RAM for execution.

The EPCS controller instantiates a block of boot ROM internally at its base address (offset 0x0, just before EPCS controller’s CSRs) for storing the boot copier. Nios II reset vector offset must set to EPCS controller base address, such that upon system reset the boot copier is executed first to initialize the EPCS controller and device.

[링크 : https://www.intel.com/content/www/us/en/docs/programmable/683820/current/nios-ii-processor-application-copied-37722.html]

[링크 : https://manuals.plus/ko/Intel/1-5-1-nios-ii-booting-general-flow-manual#axzz7xFS1je7Y]

 

Nios® II 플래시 프로그래머를 사용할 때 --csr 옵션은 무엇입니까?

설명
직렬 플래시 컨트롤러 II IP와 함께 Nios II 플래시 프로그래머(현재 "quartus_pgm --nios2")를 디자인에 사용할 때 명령 문자열에 새로운 옵션 "--csr"를 지정해야 합니다.

해결 방법
--csr 옵션은 직렬 플래시 컨트롤러 II IP 코어의 "avl_csr" 인터페이스 주소로 지정되어야 합니다.  예를 들어 플랫폼 디자이너 시스템에서 "avl_csr" 인터페이스의 주소 범위가 0x1000_0000 0x1000_003F 경우 "--csr=0x10000000"을 사용하십시오.

이 기능은 Nios II 플래시 프로그래머 사용자 가이드의 향후 버전에서 완전히 문서화될 것으로 예상됩니다.

[링크 : https://www.intel.co.kr/content/www/kr/ko/support/programmable/articles/000086366.html]

'embeded > FPGA - ALTERA' 카테고리의 다른 글

altera uart ip  (0) 2023.05.14
altera - partial reconfigure  (0) 2023.04.24
Nios V  (0) 2021.11.01
IOFS - Intel Open FPGA Stack  (0) 2021.07.06
oneAPI Quartus pro 필요?  (0) 2021.04.06
Posted by 구차니
Programming/golang2023. 3. 28. 10:36

웹소켓을 통해 데이터를 JSON으로 변환해서 보내니 웹서버에 부하가 걸리는 것 같아서

binary 데이터 그대로~ 보내고 웹에서 binary를 처리하도록 하려고 찾아보는 중

 

서버 사이드(golang)

for {
    messageType, p, err := conn.ReadMessage()
    if err != nil {
        log.Println(err)
        return
    }
    if err := conn.WriteMessage(messageType, p); err != nil {
        log.Println(err)
        return
    }
}
In above snippet of code, p is a []byte and messageType is an int with value websocket.BinaryMessage or websocket.TextMessage.

[링크 : https://pkg.go.dev/github.com/gorilla/websocket#section-readme]

[링크 : https://kiwitrip.tistory.com/5]

 

클라이언트 사이드(웹 브라우저)

webSocket.onmessage = function (message) {
    var blob = message.data;
    var fileReader = new FileReader();
    fileReader.onload = function (event) {
        var arrayBuffer = event.target.result;
        var dataview = new DataView(arrayBuffer);
        var answer = dataview.getFloat64(0);
        alert("Server> : " + answer);
    };
    fileReader.readAsArrayBuffer(blob);
};

[링크 : http://www.gisdeveloper.co.kr/?p=5594]

 

+

23.04.04

var wsHost = "http://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var buffer = new ArrayBuffer(5); // 5 byte buffer
var bufferView = new DataView(buffer);

bufferView.setFloat32(0, Math.PI);
bufferView.setUint8(4, 127);

ws.binaryType = 'arraybuffer';

ws.onmessage = function(message) {
    var view = new DataView(message.data);
    console.log('Uint8:', view.getUint8(4), 'Float32:', view.getFloat32(0))
};

ws.onopen = function() {
    ws.send(buffer);
};

[링크 : https://riptutorial.com/javascript/example/6661/working-with-binary-messages]

'Programming > golang' 카테고리의 다른 글

go 포맷터  (0) 2023.05.11
golang echo directory listing  (0) 2023.05.08
golang 크로스 컴파일 GOARM GOARCH  (0) 2023.02.03
golang map 에 데이터 추가하기  (0) 2023.01.13
golang reflect  (0) 2023.01.03
Posted by 구차니
Linux2023. 3. 27. 14:12

전혀 연관없는 곳에서 발견

bash에서 tab 누르면 어떤 명령어는 하위 명령어에 대해서 자동 완성이 지원되는데

아래 경로의 completions 라는 경로에 파일명을 따라서 수행된다.

/usr/share/bash-completion

 

[링크 : https://github.com/Xilinx/gstreamer/blob/master/data/bash-completion/completions/gst-launch-1.0]

[링크 : https://kubernetes.io/ko/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/]

'Linux' 카테고리의 다른 글

sysfs ethernet link status  (0) 2023.05.17
리눅스 커맨드 라인에서 몇줄씩 건너뛰고 출력하기  (0) 2023.03.30
리눅스 키보드로 강제 종료하기  (0) 2023.03.10
shopt nohup  (0) 2023.01.27
리눅스 배터리 wear level  (0) 2023.01.04
Posted by 구차니

되는데 엄청 느리다.

아마 async 옵션을 안줘서 그런거 같은데..

 

아무튼 gstaremer의 파이프를 구성하는데 ximagesink가 비디오를 출력하기 위한 마지막 sink 니까

파이프 구성없이 v4l2src를 실행하고 jpegdec 한다음(MJPG 웹캠이라) mix 라는 이름을 가지고 있던 videomixer 에게 던지면 끝

$ gst-launch-1.0 v4l2src ! jpegdec ! videomixer name=mix ! videoconvert ! ximagesink v4l2src device=/dev/video2 ! jpegdec ! mix.

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

gstremaer videobox + videomixer  (0) 2023.04.10
gst-inspector.c  (0) 2023.04.06
gstreamer videomixer ... 2?  (0) 2023.03.27
gstreamer pad - sink 와 src  (0) 2023.03.27
gstreamer cheat sheet - tee, queue  (0) 2023.03.22
Posted by 구차니