프로그램 사용/VNC2022. 8. 12. 10:58

음.. libvncserver 라이브러리를 이용해서 간단하게 저 인자 하나 주고 만들면 되려나?

int main(int argc,char** argv)
{
  rfbScreenInfoPtr rfbScreen = rfbGetScreen(&argc,argv,maxx,maxy,8,3,bpp);
  if(!rfbScreen)
    return 1;
  rfbScreen->desktopName = "LibVNCServer Example";
  rfbScreen->frameBuffer = (char*)malloc(maxx*maxy*bpp);
  rfbScreen->alwaysShared = TRUE;
  rfbScreen->ptrAddEvent = doptr;
  rfbScreen->kbdAddEvent = dokey;
  rfbScreen->newClientHook = newclient;
  rfbScreen->httpDir = "../webclients";
  rfbScreen->httpEnableProxyConnect = TRUE;

  initBuffer((unsigned char*)rfbScreen->frameBuffer);
  rfbDrawString(rfbScreen,&radonFont,20,100,"Hello, World!",0xffffff);

  /* This call creates a mask and then a cursor: */
  /* rfbScreen->defaultCursor =
       rfbMakeXCursor(exampleCursorWidth,exampleCursorHeight,exampleCursor,0);
  */

  MakeRichCursor(rfbScreen);

  /* initialize the server */
  rfbInitServer(rfbScreen);

#ifndef BACKGROUND_LOOP_TEST
#ifdef USE_OWN_LOOP
  {
    int i;
    for(i=0;rfbIsActive(rfbScreen);i++) {
      fprintf(stderr,"%d\r",i);
      rfbProcessEvents(rfbScreen,100000);
    }
  }
#else
  /* this is the blocking event loop, i.e. it never returns */
  /* 40000 are the microseconds to wait on select(), i.e. 0.04 seconds */
  rfbRunEventLoop(rfbScreen,40000,FALSE);
#endif /* OWN LOOP */
#else
#if !defined(LIBVNCSERVER_HAVE_LIBPTHREAD) && !defined(LIBVNCSERVER_HAVE_WIN32THREADS)
#error "I need pthreads or win32 threads for that."
#endif
  /* catch Ctrl-C to set a flag for the main thread */
  signal(SIGINT, intHandler);
  /* this is the non-blocking event loop; a background thread is started */
  rfbRunEventLoop(rfbScreen,-1,TRUE);
  fprintf(stderr, "Running background loop...\n");
  /* now we could do some cool things like rendering in idle time */
  while (maintain_connection) {
      sleep(5); /* render(); */
  }
  fprintf(stderr, "\nShutting down...\n");
  rfbShutdownServer(rfbScreen, TRUE);
#endif /* BACKGROUND_LOOP */

  free(rfbScreen->frameBuffer);
  rfbScreenCleanup(rfbScreen);

  return(0);
}

[링크 :https://github.com/LibVNC/libvncserver/blob/master/examples/example.c]

[링크 : https://github.com/LibVNC/libvncserver]

 

+

먼가 되나 했더니 안되네..

일단은.. noVNC 에서는 ws://ip/websockify 라는 경로를 열려고 하는데

libvncserver.so 에서 해당 경로를 열어주는 부분이 없나...?

[링크 : https://github.com/novnc/websockify]

 

example은 libvncserver의 example/example.c 빌드해서 나온거

revind / revind.so / run / websockify 는 websockify 에서 나온거

libvncserver 와 noVNC와 websockify 의 조합으로 어찌 되긴 하는데..

~/libvncserver/webclients $ ls -al
total 64
drwxr-xr-x  4 pi pi  4096 Aug 12 11:44 .
drwxr-xr-x 16 pi pi  4096 Aug 12 11:03 ..
-rwxr-xr-x  1 pi pi 25372 Aug 12 11:02 example
-rw-r--r--  1 pi pi  1601 Aug 12 10:32 index.vnc
drwxr-xr-x 10 pi pi  4096 Aug 12 11:00 novnc
-rwxr-xr-x  1 pi pi   424 Aug 12 11:39 rebind
-rwxr-xr-x  1 pi pi  7508 Aug 12 11:39 rebind.so
-rwxr-xr-x  1 pi pi    78 Aug 12 11:39 run
drwxr-xr-x  3 pi pi  4096 Aug 12 11:28 websockify

 

인자는 아래와 같이 하고 실행!

$ ./run 5900 -- ./example

 

웹 브라우저에서 http://ip:5800 으로 접속하면 아래와 같이 뜨고

별다른 설정을 하지 않았다면 wss(websocket secure)를 안될테니 위에 "Click here to connect using noVNC"를 누른다.

 

약간의 시간을 기다리면(libvncserver의 웹 서버가 느린지 파일 전송이 좀 느리다)

아래와 같이 쨘~

 

 

+

한번 되더니 websockify 없이도 되네.. 머지?

 

 

+

runInBackground 의 값을 TRUE 로 해주면 웹 서버가 작동을 안한다 -_-

어떻게 해야 할까..

void rfbRunEventLoop ( rfbScreenInfoPtr  screenInfo,
long  usec,
rfbBool  runInBackground  
)

[링크 : http://libvncserver.sourceforge.net/doc/html/group__libvncserver__api.html#ga1f5f3116deec0ab6bb18208c2eb538e6]

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

libvncserver websocket example  (0) 10:58:43
libvncserver 마우스 이벤트  (0) 2022.02.25
libvncserver 사용예  (0) 2022.02.15
rfb(remote framebuffer) protocol  (0) 2022.01.26
gconf-editor / ubuntu 14.04 LTS vino + VNC 접속불가  (0) 2015.03.22
VNC web 버전?  (0) 2014.12.11
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/uinput2022. 8. 11. 23:42

uinput 에서 절대값을 받기 위해서는 마우스가 아니라 터치로 인식을 시켜야 한다.

 

가장 도움을 받았던 문서가 오히려 함정 카드(?)였는데

1.7.4.2의 내용은 상대좌표를 이용하는 일반적인 마우스의 예라서

[링크 : https://www.kernel.org/doc/html/v4.12/input/uinput.html]

 

struct uinput_setup 구조체를 이용하고 있지만

struct uinput_setup {
struct input_id id;
char name[UINPUT_MAX_NAME_SIZE];
__u32 ff_effects_max;
};

[링크 : https://github.com/torvalds/linux/blob/master/include/uapi/linux/uinput.h]

 

터치패드의 경우(혹은 터치 스크린) 아래의 구조체 중 absmax, absmin 에  시작, 끝 좌표를 넣어 주어야 한다. 

ABS_CNT(64)가 왜 상당히 크게 잡혀있는지 모르겠지만

absmax[0] = WIDTH, absmax[1] = HEIGHT를 넣고 초기화 해주면 된다.

struct uinput_user_dev {
char name[UINPUT_MAX_NAME_SIZE];
struct input_id id;
__u32 ff_effects_max;
__s32 absmax[ABS_CNT];
__s32 absmin[ABS_CNT];
__s32 absfuzz[ABS_CNT];
__s32 absflat[ABS_CNT];
};

[링크 : https://elixir.bootlin.com/linux/v4.6/source/include/uapi/linux/uinput.h#L222]

 

VID와 PID 혹은 문자열이 영향을 주는진 모르겠다.

[링크 : https://github.com/bendahl/uinput/blob/master/touchpad.go#L172]

 

UI_DEV_SETUP을 ioctl을 이용하여 setup 하는게 아니라

/dev/uinput fd에 write() 함수로 써버리는 것이 EV_REL과의 차이라고 해야하나..?

void init_uinput_touchscreen()
{
    int ret = 0;
    struct uinput_user_dev usetup;
    int keys[] = {BTN_LEFT, BTN_RIGHT, BTN_TOUCH};

    int fd_touch = open("/dev/uinput", O_WRONLY | O_NONBLOCK);
    printf("fd[%d]\n", fd_touch);

    //Custom key events init
    ioctl(fd_touch, UI_SET_EVBIT, EV_KEY);
    for(int i = 0; i < sizeof(keys) / sizeof(int); i++){
        ioctl(fd_touch, UI_SET_KEYBIT, keys[i]);
    }

    //Mouse Pointer events init
    ret = ioctl(fd_touch, UI_SET_EVBIT, EV_ABS);
    printf("EV_ABS ret[%d]\n",ret);
    ret = ioctl(fd_touch, UI_SET_ABSBIT, ABS_X);
    printf("ABS_X ret[%d]\n",ret);
    ret = ioctl(fd_touch, UI_SET_ABSBIT, ABS_Y);
    printf("ABS_Y ret[%d]\n",ret);

    memset(&usetup, 0, sizeof(usetup));
    usetup.id.bustype = BUS_USB;
    usetup.id.vendor = 0x4711;
    usetup.id.product = 0x0817;
    strcpy(usetup.name, "TouchPad");
    usetup.absmax[0] = 1024;
    usetup.absmax[1] = 768;

    // ret = ioctl(fd_touch, UI_DEV_SETUP, &usetup);
    ret = write(fd_touch, &usetup, sizeof(struct uinput_user_dev));
    printf("UI_DEV_SETUP ret[%d]\n",ret);
    printf("sizeof %d\n",sizeof(struct uinput_user_dev));
    ret = ioctl(fd_touch, UI_DEV_CREATE);
    printf("UI_DEV_CREATE ret[%d]\n",ret);
}

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

uinput을 이용한 절대좌표 입력 기기 만들기  (0) 2022.08.11
struct uinput_setup 와 struct uinput_user_dev  (0) 2022.08.05
uinput 터치 스크린 예제  (0) 2022.08.05
evbug  (0) 2022.08.05
uinput 장치 확인  (0) 2022.03.04
uinput absolute mouse  (0) 2022.02.23
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2022. 8. 10. 18:03

패키지 설치

$ sudo apt install cmake ninja meson libpixman-1-0 libpixman-1-dev libdrm-dev libdrm-common libdrm2 libxkbcommon-dev libwayland-dev

[링크 : https://github.com/ammen99/wf-recorder/issues/74]

 

ninja 설치

$ git clone https://github.com/ninja-build/ninja.git
$ cd ninja
$ ./configure.py --bootstrap

[링크 : https://ninja-build.org/]

 

git clone https://github.com/any1/wayvnc.git
git clone https://github.com/any1/neatvnc.git
git clone https://github.com/any1/aml.git

mkdir wayvnc/subprojects
cd wayvnc/subprojects
ln -s ../../neatvnc .
ln -s ../../aml .
cd -

mkdir neatvnc/subprojects
cd neatvnc/subprojects
ln -s ../../aml .
cd -

meson build
ninja -C build

[링크 : https://github.com/any1/wayvnc]

 

+

sway를 실행하고

 

sway에서 터미널을 연 다음, wayvnc를 실행

 

tightVNC로 접속 확인.

 

어익 후 라즈베리 3b에서 cpu가 죽어나네

 

rpi3 같은 메모리 대역폭 후달리는 애도 잘 쓰도록 만들었다는데 머.. 3.3%면 양호한건가..

sway가 문제인가?

The OpenGL ES 2.0 based renderer has now been replaced with a pixman based renderer. The new renderer is both simpler and performs better on devices with poor memory bandwidth such as the Raspberry Pi 3.

[링크 : https://github.com/any1/wayvnc/releases]

 

+

22.08.11

rpi 4 에서 실행하니 cpu가 착해진다. openGL ES 성능 차이인가..

'embeded > raspberry pi' 카테고리의 다른 글

rpi3b에서 wayvnc 빌드 + 실행하기  (0) 2022.08.10
raspberrypi wayland compositor 설정  (0) 2022.08.10
linux iio adc + rpi  (0) 2022.06.20
PI 400 써봄  (0) 2022.05.25
라즈베리 파이2 / 마인크래프트  (0) 2022.03.18
rpi opencv python pid servo  (0) 2022.03.08
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/wayland2022. 8. 10. 16:41

 

sway와 wayfire 라는 녀석이 wlroot 기반의 compositor 인 듯.

 

일단~~은 sway 패키지를 설치하고

$ sudo apt install sway

[링크 : https://installati.one/ubuntu/21.04/sway/]


wayvnc 설치(ubuntu 22.04 LTS/x86)

$ sudo apt install wayvnc

 

로그아웃 후에 세션을 sway로 변경

[링크 : https://llandy3d.github.io/sway-on-ubuntu/]

[링크 : https://www.slant.co/topics/11023/versus/~sway_vs_wayfire_vs_weston]

 

"윈 + D" 누르고 terminal 친 후 방향키로 gnome-terminal 선택 + enter

혹은 "윈 + enter"

 

요건 심심해서 htop 실행. i7-3635QM 이긴 한데

sway와 wayvnc가 동일하게 1.3% 씩 먹는 상황. 이걸 낮다고 봐야하나 높다고 봐야하나..

[링크 : https://swaywm.org/]

[링크 : https://wiki.archlinux.org/title/Sway]

 

터미널에서 wayvnc 접속가능하도록 실행

$ wayvnc 0.0.0.0

 

 

+

sway 단축키

super - shift - space (타일/창 전환)
super - e (가로 / 세로 타일 배치 전환)
super - h (창 전환)
super - enter (터미널 열기)
super - d (프로그램 실행?)

 

+

로그아웃

방법을 못 찾아서, sway 프로세스 kill 하고 다시 로그인 함 -_-

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

sway + wayvnc  (0) 2022.08.10
wayvnc 0.5 릴리즈  (0) 2022.08.09
capture drm screen  (0) 2022.08.08
weston redraw 취소하기  (0) 2022.07.07
weston drm debug  (0) 2022.06.29
libwayland debug 메시지  (0) 2022.06.27
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2022. 8. 10. 10:32

2022년 4월 4일자 bullseye 배포판에 wayland가 들어있다는데

raspi-config를 통해 wayland로 변경이 가능한 듯.

순수(?) wayland는 아니고 X11-wayland 인 것 같긴한데 어떻게 바꾸려나?

[링크 : https://blog.desdelinux.net/en/raspberry-pi-os-2022-04-04-arrives-with-initial-wayland-support-improvements-in-the-configuration-assistant-and-more/]

[링크 : https://www.phoronix.com/news/Raspberry-Pi-OS-Wayland]

[링크 : https://www.linuxadictos.com/ko/raspberry-pi-os-empieza-a-experimentar-con-wayland.html]

 

라즈베리 파이 3, 64bit 버전, raspi-config에서 Advanced로 들어가니 A9 Wayland가 존재한다.

 

Yes 해주고

 

리부팅 요청하는데 그건 귀찮으니 패스

 

라즈베리 파이 3라서 안되는건가.. 아니면 64bit 버전이라 그런가?

$ ps -ef | grep way
pi           843     702  3 11:21 ?        00:00:03 /usr/bin/Xwayland :0 -rootless -noreset -accessx -core -auth /run/user/1000/.mutter-Xwaylandauth.AFF5Q1 -listen 4 -listen 5 -displayfd 6 -listen 7

$ sudo apt install wayvnc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package wayvnc

 

32bit rpi-OS 해도 안되는건 매한가지 -_-

$ ps -ef | grep way
pi        1481  1462  0 12:09 pts/1    00:00:00 grep --color=auto way

$ uname -a
Linux raspberrypi 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

$ sudo apt-get install wayvnc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package wayvnc

 

우분투 22.04 LTS 설치(x86) 실행은 안되네?

$ uname -a
Linux victor-770Z5E-780Z5E 5.15.0-43-generic #46-Ubuntu SMP Tue Jul 12 10:30:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

$ sudo apt-get install wayvnc
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  libaml0 libneatvnc0 libturbojpeg
다음 새 패키지를 설치할 것입니다:
  libaml0 libneatvnc0 libturbojpeg wayvnc
0개 업그레이드, 4개 새로 설치, 0개 제거 및 4개 업그레이드 안 함.
235 k바이트 아카이브를 받아야 합니다.
이 작업 후 839 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n]

$ wayvnc
wl_registry@2: error 0: invalid version for global wl_output (4): have 2, wanted 3
ERROR: Virtual Pointer protocol not supported by compositor.
ERROR: Failed to initialise wayland

 

혹시나 해서 해보는데 영 진척이 없다.

$ sudo nano /etc/gdm3/custom.conf
WaylandEnable=true

[링크 : https://linuxconfig.org/how-to-enable-disable-wayland-on-ubuntu-22-04-desktop]

 

초기값(true도 false도 아닌 WaylandEnable 자체가 comment)

$ ps -ef | grep way
root         853       1  0 11:41 ?        00:00:00 /usr/bin/python3 /usr/bin/waydroid -w container start
minimonk 20264   20253  0 12:38 tty2     00:00:00 /usr/libexec/gdm-wayland-session env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu


$ wayvnc
wl_registry@2: error 0: invalid version for global wl_output (4): have 2, wanted 3
ERROR: Virtual Pointer protocol not supported by compositor.
ERROR: Failed to initialise wayland

 

false 일때

$ ps -ef | grep way
root         853       1  0 11:41 ?        00:00:00 /usr/bin/python3 /usr/bin/waydroid -w container start

$ wayvnc
ERROR: Failed to initialise wayland

 

true 일때

$ ps -ef | grep way
root         853       1  0 11:41 ?        00:00:00 /usr/bin/python3 /usr/bin/waydroid -w container start
minimonk 18392   18381  0 12:32 tty2     00:00:00 /usr/libexec/gdm-wayland-session env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu

$ wayvnc
wl_registry@2: error 0: invalid version for global wl_output (4): have 2, wanted 3
ERROR: Virtual Pointer protocol not supported by compositor.
ERROR: Failed to initialise wayland

 

'embeded > raspberry pi' 카테고리의 다른 글

rpi3b에서 wayvnc 빌드 + 실행하기  (0) 2022.08.10
raspberrypi wayland compositor 설정  (0) 2022.08.10
linux iio adc + rpi  (0) 2022.06.20
PI 400 써봄  (0) 2022.05.25
라즈베리 파이2 / 마인크래프트  (0) 2022.03.18
rpi opencv python pid servo  (0) 2022.03.08
Posted by 구차니

댓글을 달아 주세요

wavenumber(파수) = 1 / 파장

[링크 : https://www.scienceall.com/파수wave-number/]

[링크 : https://ywpop.tistory.com/4838]

 

1512 nm = 6613.76 cm–1

650 nm = 15384.62 cm–1 (빨간색)

 

[링크 : https://convert.impopen.com/index.php]

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

wavelength, wavenumber  (0) 2022.08.09
DFB / DBR laser  (0) 2022.08.09
modulated laser  (0) 2022.08.03
FMS(Frequency modulation spectroscopy)  (0) 2022.06.20
pantograph router (축도기)  (0) 2019.04.25
호모그래피  (0) 2019.01.14
Posted by 구차니

댓글을 달아 주세요

 

 

[링크 : https://m.blog.naver.com/panoptics/100196593100]

 

DBR(Distributed Bragg Reflector)

[링크 : https://www.itfind.or.kr/WZIN/jugidong/1062/106201.htm]

 

Distributed Feed Back type - Laser Diode

[링크 : http://www.ktword.co.kr/word/abbr_view.php?m_temp1=3388]

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

wavelength, wavenumber  (0) 2022.08.09
DFB / DBR laser  (0) 2022.08.09
modulated laser  (0) 2022.08.03
FMS(Frequency modulation spectroscopy)  (0) 2022.06.20
pantograph router (축도기)  (0) 2019.04.25
호모그래피  (0) 2019.01.14
Posted by 구차니

댓글을 달아 주세요

22.07.10 에 릴리즈 되었는데 H.264 인코딩이 특징인 듯.

wayland도 힘을 못써서 조용히 사라질줄 알았는데, 조용히 부활하고 있었던 건가.. -_-

[링크 : https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/wayland-display-server/1333848-wayvnc-0-5-vnc-server-for-wlroots-based-wayland-compositors-released]

[링크 : https://github.com/any1/wayvnc/releases/tag/v0.5.0]

[링크 : https://github.com/any1/wayvnc]

 

 

그나저나 s390x는 먼가 해서 찾아봤더니 (s로 시작해서 스냅드래곤인가 싶었지만)

[링크 : https://packages.ubuntu.com/jammy/wayvnc]

 

1998년 단종된 IBM System/390 시리즈 인 것 같은데.. 이걸 아직도(?) 지원해주다니..

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

[링크 : https://en.wikipedia.org/wiki/Linux_on_IBM_Z#Hardware]

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

sway + wayvnc  (0) 2022.08.10
wayvnc 0.5 릴리즈  (0) 2022.08.09
capture drm screen  (0) 2022.08.08
weston redraw 취소하기  (0) 2022.07.07
weston drm debug  (0) 2022.06.29
libwayland debug 메시지  (0) 2022.06.27
Posted by 구차니

댓글을 달아 주세요

왼쪽은 미리보기, 오른쪽은 웹 에디터 보기. 너무 처참하게 깨지는거 아닌가? ㅠㅠ

이 티스토리 그지 깽깽이 들아!!!

반응형 웹 스킨으로 바꾸어 보니 그나마 나아지긴 한다.. 스킨 바꾸어야 하나?

 

+

검색 페이지. 요게 기존 스타일.

 

개발자 도구로 추적해보니

 

줄 하나하나 미친듯이 넓어지는건

.contents_style 의 margin-bottom: 30px 때문인것 같고

 

짙은 검은색이 되는건

div.contents_style 의 color : #333

 

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

티스토리 레이아웃 왕창 깨지네  (0) 2022.08.08
근 한달만의 블로그 정리  (2) 2022.07.21
게을러졌어...  (0) 2022.05.16
해피빈 기부  (0) 2022.04.25
한달치 글 정리  (0) 2022.03.12
잘가 내 위키  (3) 2022.03.02
Posted by 구차니

댓글을 달아 주세요

TV나 FM 라디오에서 듣던 녀석인데

헤테로다인 방식으로 만든 수신기를 슈퍼 헤테로다인이라고 하는 것 같긴한데..

간단하게 요약하자면 맥놀이(beat)를 이용하여 주파수 mix를 하면 낮은 주파수가 나오는데(IF)

이걸 이용해서 주파수를 낮추고 필터도 쉽게 만들고 약한 신호를 더 효율적으로 빼낼수 있게 되는 듯

 

 

FM 수신 주파수, 가령 93.1MHz는 1초에 9천3백1십만번 공중에서 재주넘기를 하면서 전파된다. 이 주파수를 수신하면 내부에서 10.7MHz의 진동을 빼 내기 위해 특정주파수를 만들게 된다. (93.1- X = 10.7)

이 방식은 슈퍼 헤테로다인 방식이라고 하는데 여기에서 음악signal만을 뽑아내는 재주를 피운다. 뽑아진 음악signal는 mono signal처럼 보인다. 하지만 내부를 살펴보면 19KHz의 주파수가 보이게 된다

[링크 : https://www.enjoyaudio.com/zbxe/index.php?mid=tunerbuffs&document_srl=4793789]

 

어.. Wavelength modulation 에서

f1 - f2, f1 + f2 주파수가 나오는걸 봤는데.. 이게 헤테로다인인가? 호모다인 이야기도 나왔던게 얼핏 기억나는데..

 예를 들어 8 kHz 신호에 6 kHz 신호를 섞으면 이 둘의 합인 14 kHz 와 차인 2 kHz 의 신호가 생긴다. 이런 식으로 주파수를 높이거나(스텝 업) 낮추는(스텝 다운) 데 응용될 수 있다.

[링크 : https://namu.wiki/w/헤테로다인]

 

맥놀이(beat)

[링크 : https://namu.wiki/w/맥놀이]

[링크 : http://h\ttps://www.scienceall.com/맥놀이beat-2/]

 

수신한 전파의 주파수와 수신기 내에서 발생시킨 제2의 주파수를 혼합, 주파수가 낮은 제3의 주파수를 합성하는 검파방법. 이 방식을 이용하는 수신기가 슈퍼헤테로다인 수신기이다.

[링크 : https://www.scienceall.com/헤테로다인검파heterodyne-detection/]

 

 

 

[링크 : https://os.mbed.com/users/edodm85/notebook/radio-fm-tea5767/]

'이론 관련 > 전기 전자' 카테고리의 다른 글

헤테로다인  (0) 2022.08.08
PID 제어... 2?  (0) 2022.06.20
12V 에서 저항으로 5V 만들...기?  (0) 2022.06.16
a/w  (0) 2022.06.02
TR과 저항으로 AND, OR, NOT구현하기  (0) 2022.04.28
AC 전원 N/L/  (0) 2022.03.16
Posted by 구차니

댓글을 달아 주세요