태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

업그레이드~!!2010/02/10 11:47

stack

스택이란 여러 개의 데이타 항목들이 일정한 순서로 나열된 자료 구조로 한쪽 끝에서만 새로운 항목을 삽입하거나 기존 항목을 삭제할 수 있도록 고안된 것이다. 스택은 동전을 넣고 뺄 수 있도록 되어 있는 동전 케이스와 같은 작동 원리를 가지고 있다. 삽입된 동전들은 케이스 내부에 일정한 순서로 저장된다. 먼저 삽입된 동전은 케이스의 가장 아래쪽에 위치하고 가장 최근에 삽입된동전은 입구에 놓인다. 스택에 저장된 데이타 항목들 중에 먼저 삽입된 것은 나중에 삭제되고, 나중에 삽입된 것이 먼저 삭제된다. 그래서 스택을 후입 선출 리스트Last- In-First-Out List)라고 부른다. 선입 선출법을 사용하는 큐와는 상반된 성질을 가진다.

 

스택은 기저(base)로부터 데이타 항목들을 차례로 쌓아올린 모양을 가진다.

삽입과 삭제는 현재 저장된 최상위 항목이 위치한 top 에서만 일어난다.

top 위치는 "스택 포인터"라는 지시자가 가리킨다.

스택 포인터는 스택 기저에서 시작하여 항목이 삽입되면 하나 증가하고,

삭제되면 하나 감소한다. 스택에는 한계가 있어서 그 한계를 초과하도록 삽입할 수 없다.

 

heap

프로그램의 실행 도중에 요구되는 기억 장소를 할당하기 위하여 운영 체제에 예약되어 있는 기억 장소 영역. 프로그램에서 실행 도중에 자료를 저장하기 위하여 기억 장소를 요청하게 되면 운영 체제에서는 힙에 존재하는 기억 장소를 프로그램에 할당한다. 그리고 프로그램에서 기억 장치를 더 이상 필요로 하지 않는 경우에는 앞에서 할당 받았던 기억 장소를 운영체제에 반납하게 되는데, 이때 운영체제에서는 반납된 기억 장소를 다시 힙에 연결하게 된다. 힙에 대한 기억 장소는 포인터를 통해 동적으로 할당되거나 반환이 되는데 연결 리스트, 트리, 그래프 등과 같이 동적인 특성을 가지고 있는 자료구조에서 널리 사용된다.

힙은 프로그램이 실행될 때까지 알 수 없는 가변적인 양만큼의 데이터를 저장하기 위해 프로그램의 프로세스가 사용할 수 있도록 미리 예약되어 있는 메인 메모리의 영역이다. 예를들면 하나의 프로그램은 처리를 위해 한명 이상의 사용자로부터 서로 다른 양의 입력을 받을 수 있으며 즉시 모든 입력데이터에 대해 처리를 시작한다. 운영체계로부터 이미 확보된 일정량의 힙 저장공간을 가지고 있으면 저장과 관련된 처리를 좀 더 쉽게 할 수 있으며 일반적으로 필요할 때마다 운영체계의 운영체계에게 매번 저장공간을 요청하는 것보다 빠르게 된다. 프로세스는 필요할 때 heap 블록을 요구하고 더 이상 필요 없을 때 반환하며 이따금씩 자투리 모으기를 수행함으로써 자신에게 할당된 heap을 관리하기도 한다. 여기서 자투리 모으기란 더 이상 사용되지 않는 블록들을 사용 가능한 상태로 만들고 또한 heap 내의 사용 가능한 공간을 인지함으로써 사용되지 않은 작은 조각들이 낭비되지 않도록 하는 것을 말한다.

힙이란 컴퓨터의 기억 장소에서 그 일부분이 프로그램들에 할당되었다가 회수되는 작용이 되풀이 되는 영역이다. 스택영역은 엄격하게 후입선출(LIFO)방식으로 운영되는데 비해 힙은 프로그램들이 요구하는 블록의 크기나 요구/횟수 순서가 일정한 규칙이 없다는 점이 다르다. 대개 힙의 기억장소는 포인터변수를 통해 동적으로 할당받고 돌려준다. 이는 연결 목록이나 나무, 그래프 등의 동적인 자료 구조를 만드는데 꼭 필요한 것이다.

그럼 힙 메모리를 프로그램을 사용할 수 있는 자유메모리라고 할 수 있다.프로그램 실행 시에 함수로 내는 데이터 등을 일시적으로 보관해 두는 소량의 메모리와 필요시 언제나 사용할 수 있는 대량의 메모리가 있다. 이때, 소량의 메모리를 ‘스택’이라 하고 대량의 메모리를 ‘힙’ 이라고 한다. 이 ‘힙’이 없어지면 메모리 부족으로 ‘이상종료’를 하게 된다.

프로세스에 exe 이미지가 로드되고, 할당되고, 이것저것 필요한 동적 라이브러리가 로드되고 사용되지 않는 미사용 구간이 있는 것은 분명한데 그 미사용 영역이 ‘힙’이라고 한다. 프로그램을 짤 때 new나 malloc()함수를 이용한 동적 할당을 하게 되면 힙 영역이 사용 가능하도록 되는 것이다. 필요한 메모리 사이즈만큼 OS에게 할당해 달라고 부탁할 수도 있으며, 사용을 다 했으면 다시 OS에게 넘겨줘야한다.

(출처 : http://mm.sookmyung.ac.kr/%7Em0311087/stack&heap.html)


----------------------------------------------------------------------------------------------------------------

heap

heap은 프로그램이 실행될 때까지는 알 수 없는 가변적인 량만큼의 데이터를 저장하기 위해, 프로그램의 프로세스가 사용할 수 있도록 미리 예약되어 있는 메인 메모리의 영역이다. 예를 들면, 하나의 프로그램은 처리를 위해 한 명 이상의 사용자로부터 서로 다른 량의 입력을 받을 수 있으며, 즉시 모든 입력데이터에 대해 처리를 개시한다. 운영체계로부터 이미 확보된 일정량의 heap 저장공간을 가지고 있으면, 저장과 관련된 처리를 좀더 쉽게 할 수 있으며, 일반적으로 필요할 때마다 운영체계에게 매번 저장공간을 요청하는 것보다 빠르다. 프로세스는 필요할 때 heap 블록을 요구하고, 더 이상 필요 없을 때 반환하며, 이따금씩 "자투리모으기"를 수행함으로써 자신에게 할당된 heap을 관리한다. 여기서 자투리모으기란 더 이상 사용되지 않는 블록들을 사용 가능한 상태로 만들고, 또한 heap 내의 사용 가능한 공간을 인지함으로써 사용되지 않은 작은 조각들이 낭비되지 않도록 하는 것을 말한다.
이 용어는 분명히 다른 용어인 스택(stack)의 영향을 받았다. 스택은 블록들이 저장공간으로부터 어떤 순서에 입각하여 꺼내어지고, 또 같은 방법으로 반환된다는 것을 제외하고는 heap과 비슷하다. 파스칼에서는, subheap은 스택처럼 취급되는 heap의 일부분이다.
c언어에서 heap에 메모리를 할당할 때는 memory allocation--> malloc()을 사용한다.

(출처 : http://cafe.naver.com/esw.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=27)


아래 블로그 글도 참조
(http://recipes.egloos.com/5057426)

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG heap, stack
WIKIPEDIA 펌 (http://en.wikipedia.org/wiki/Speex)

Speex is a patent-free audio compression format designed for speech and also a free software speech codec that may be used on VoIP applications and podcasts.[5] It is based on the CELP speech coding algorithm.[6] Speex claims to be free of any patent restrictions and is licensed under the revised (3-clause) BSD license. It may be used with the Ogg container format or directly transmitted over UDP/RTP.

The Speex designers see their project as complementary to the Vorbis general-purpose audio compression project.

Speex is a lossy format, meaning quality is permanently degraded to reduce file size.

The Speex project was created on February 13, 2002.[7] The first development versions of Speex were released under LGPL license, but as of version 1.0 beta 1, Speex is released under Xiph's version of the (revised) BSD license.[8] Speex 1.0 was announced on March 24, 2003, after a year of development.[9] The last stable version of Speex encoder and decoder is 1.1.12.[2]

 

Description

Unlike many other speech codecs, Speex is not targeted at cellular telephony but rather at Voice over IP (VoIP) and file-based compression. The design goals have been to make a codec that would be optimized for high quality speech and low bit rate. To achieve this the codec uses multiple bit rates, and supports ultra-wideband (32 kHz sampling rate), wideband (16 kHz sampling rate) and narrowband (telephone quality, 8 kHz sampling rate). Since Speex was designed for Voice over IP (VoIP) instead of cell phone use, the codec must be robust to lost packets, but not to corrupted ones. All this led to the choice of Code Excited Linear Prediction (CELP) as the encoding technique to use for Speex.[6] One of the main reasons is that CELP has long proven that it could do the job and scale well to both low bit rates (as evidenced by DoD CELP @ 4.8 kbit/s) and high bit rates (as with G.728 @ 16 kbit/s). The main characteristics can be summarized as follows:

  • Free software/open-source, patent and royalty-free
  • Integration of narrowband and wideband in the same bit-stream
  • Wide range of bit rates available (from 2 kbit/s to 44 kbit/s)
  • Dynamic bit rate switching and Variable bit-rate (VBR)
  • Voice Activity Detection (VAD, integrated with VBR) (not working from version 1.2)
  • Variable complexity
  • Ultra-wideband mode at 32 kHz (up to 48 kHz)
  • Intensity stereo encoding option

이만큼의 내용을 해석하여 써놨군요. 아래파일을 참조~


(출처 : http://cafe.naver.com/develx.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=124)


Feature
 
Sampling rate
Speex is mainly designed for three different sampling rates: 8 kHz (the same sampling rate to transmit telephone calls), 16 kHz, and 32 kHz. These are respectively referred to as narrowband, wideband and ultra-wideband.
Quality
Speex encoding is controlled most of the time by a quality parameter that ranges from 0 to 10. In constant bit-rate (CBR) operation, the quality parameter is an integer, while for variable bit-rate (VBR), the parameter is a real (floating point) number.
Complexity (variable)
With Speex, it is possible to vary the complexity allowed for the encoder. This is done by controlling how the search is performed with an integer ranging from 1 to 10 in a way similar to the -1 to -9 options to gzip compression utilities. For normal use, the noise level at complexity 1 is between 1 and 2 dB higher than at complexity 10, but the CPU requirements for complexity 10 is about five times higher than for complexity 1. In practice, the best trade-off is between complexity 2 and 4[10], though higher settings are often useful when encoding non-speech sounds like DTMF tones, or if encoding is not in real-time.
Variable Bit-Rate (VBR)
Variable bit-rate (VBR) allows a codec to change its bit rate dynamically to adapt to the "difficulty" of the audio being encoded. In the example of Speex, sounds like vowels and high-energy transients require a higher bit rate to achieve good quality, while fricatives (e.g. s and f sounds) can be coded adequately with fewer bits. For this reason, VBR can achieve lower bit rate for the same quality, or a better quality for a certain bit rate. Despite its advantages, VBR has three main drawbacks: first, by only specifying quality, there is no guarantee about the final average bit-rate. Second, for some real-time applications like voice over IP (VoIP), what counts is the maximum bit-rate, which must be low enough for the communication channel. Third, encryption of VBR-encoded speech may not ensure complete privacy, as phrases can still be identified, at least in a controlled setting with a small dictionary of phrases[11], by analysing the pattern of variation of the bit rate.
Average Bit-Rate (ABR)
Average bit-rate solves one of the problems of VBR, as it dynamically adjusts VBR quality in order to meet a specific target bit-rate. Because the quality/bit-rate is adjusted in real-time (open-loop), the global quality will be slightly lower than that obtained by encoding in VBR with exactly the right quality setting to meet the target average bitrate.
Voice Activity Detection (VAD)
When enabled, voice activity detection detects whether the audio being encoded is speech or silence/background noise. VAD is always implicitly activated when encoding in VBR, so the option is only useful in non-VBR operation. In this case, Speex detects non-speech periods and encodes them with just enough bits to reproduce the background noise. This is called "comfort noise generation" (CNG). Last version VAD was working fine is 1.1.12, since v 2.1 it has been replaced with simple Any Activity Detection.
Discontinuous Transmission (DTX)
Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary. In a file, 5 bits are used for each missing frame (corresponding to 250 bit/s).
Perceptual enhancement
Perceptual enhancement is a part of the decoder which, when turned on, tries to reduce (the perception of) the noise produced by the coding/decoding process. In most cases, perceptual enhancement makes the sound further from the original objectively (signal-to-noise ratio), but in the end it still sounds better (subjective improvement).
Algorithmic delay
Every codec introduces a delay in the transmission. For Speex, this delay is equal to the frame size, plus some amount of "look-ahead" required to process each frame. In narrowband operation (8 kHz), the delay is 30 ms, while for wideband (16 kHz), the delay is 34 ms. These values don't account for the CPU time it takes to encode or decode the frames.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG Codec, speex
나에겐 TOSHIBA Satellite M100 노트북이 있다.

요놈은 vista를 기본으로 제공하기때문에 상당히 쓰기가 버겁다.

귀차니즘으로인해 그냥 쓰고 싶었다만, 너무 짜증나서 XP로 Downgrade를 해보기로~ ㅋㅋ

먼저 한국 사이트에 들어가서 XP용 드라이버 깔면 되겠지 하는 생각에 무작정 설치했다만 몇가지가 안잡힌다.

http://www.toshiba.co.kr/support/download/download.asp

덴장;;

다시 방법을 바꿔서 외국사이트로 전환.

http://www.csd.toshiba.com/cgi-bin/tais/support/jsp/modelContent.jsp?ct=DL&os=&category=&moid=1277462&rpn=PSMA0U&modelFilter=M100&selCategory=3&selFamily=1073768663
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi

[소득공제]

연말정산을 할때, 그 사람의 연간 소득에서 공제해주는 금액. 즉, 과세대상이 되는 소득규모를 줄여주는것이다.

예를들어, 연봉이 3천만원인 직장인이 '장기주택마련저축'에 가입했다면~
최고 300만원의 소득공제를 받는다 할때, 300만원을 제외한 연봉의 2700만원에 대해 과세를 매기는 것이다.



[비과세]

어떤 소득에 대해 세금을 부과하지 않는것을 말한다.
보통은행에서 받는 이자는 금융소득에 대해 15.4%의 세금이 부과되는데..
일정조건을 갖추었거나, 특정상품의 경우에 비과세 혜택을 주는것이다.
저축은행이나, 농협에가면 비과세상품등이 있다. 한도가 개인당 2000만원이다.


주식만 하다가 소득공제 혜택이 없어진다하여 오늘에서야 장마에 가입했다.
이젠 분산투자를...ㅎㅎ 산타랠리의 축복이 계속되길~

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
업그레이드~!!2009/10/21 20:55
I2C/SPI 방식으로 제어하며, 다음과같이 세가지 케이스로 쓰일수 있다.
UART 포트가 부족하다거나, GPIO가 부족한 경우 유용할듯~!
그나저나 RS-485 레지스터 셋팅을 우째하노 ㅠ_ㅠ


NXP bridge portfolio includes versatile products that allow a host having an I2C or SPI bus to easily add UART, IrDA, and GPIO interfaces. Our high-speed, low-power bridges improve design flexibility while freeing host processor resources. With the additional UART, IrDA, and GPIO interfaces, you can build systems with advanced communication capabilities. System expansion possibilities include connecting to remote systems, docking cradles, and infrared remote controls while detecting/controlling push buttons/keypads, LEDs, and fans.
Our bridges have selectable I2C or SPI slave interfaces to the host system. The 2-wire I2C-bus interface supports speeds up to 400KHz. Support for speeds up to 15Mbps are available for the 4-wire SPI-bus interface. These products can have multiple UARTs which are IrDA-capable. The UARTs operate at speeds up to 5Mbps and have 64-bype FIFOs, automatic hardware flow control, automatic software flow control with programmable XON/XOFF, and have an automatic RS-485 mode suitable for multi-drop applications. When configured as IrDA, they support SIR speeds of 115.2Kbps and higher. Products with GPIOs have change-of-state detection. The GPIOs can also be configured for modem control.
These products operate at 2.5V or 3.3V and come in TSSOP and ultra-small HVQFN packages. In sleep mode, they typically consume less than 30uA. The bridges can be used in industrial applications with a temperature range of -40 to +85 °C.

Remote/Local Serial Communication


An I2C/SPI slave bridge to UART interface allows you to network similar systems and remote servers. Using the UART's automatic RS-485 mode, communication can extend to 1 kilometer. When used in combination with GPIOs configured for modem control, communication distances over telco lines can be unlimited.
The UART interface also allows you to connect local serial devices including docking stations and cradles. Note that, depending on the voltage levels used by the remote devices and the drive current needed, line drivers or transceivers may be required.


Wireless Infrared Communication


By using the UART in IrDA mode, you can bridge communication to infrared-capable devices including remote controls, mobile/cellular phones, PDAs, and other personal electronics by way of an infrared transceiver.


GPIO Device Communication


Many of our I
2C/SPI slave bridges also include GPIO pins. A host's existing I2C/SPI bus can conveniently be used to detect push button presses, control panel input, and system resets. The GPIOs can be used to easily control status LEDs, fans, and other external devices.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG SC16IS752

데이터를 전송 또는 수신할때, 필수적으로 따라다니는 두가지 요소가 있다. 물론 더 많은 요소가 있지만, 이 두가지 요소는 없어서는 안되는 요소입니다. 바로  

- Error control : error control은 말그대로 전송되는 데이터에 에러가 발생하여 값이 변질되어 전송되었는지를 확인하기 위해서 사용하는 여러가지 기술...

- Flow control : 데이터를 주고 받는 상대편이 받을 준비가 되어 있는지를 판단하여 데이터 전송 흐름을 더욱 원활하게 하기 위한 기술...


Flow control은 두가지 방법이 있는데, 

     1. 소프트웨어적 방법인 Software Handshaking(XON/XOFF)과 



     2. 하드웨어적인 방법인 Hardware Handshaking(CTS/RTS)이 있다.



이 두가지 중에는 일반적으로 하드웨어적 방법이 많이 사용된다.

(RTS : Ready to Send, CTS : Clear to Send, Xon : Transmit On, Xoff : Transmit Off)


Xon/Xoff(때로는 X-on/X-off 또는 XON/XOFF라고 표기하기도 한다)는 컴퓨터와 비동기 직렬 접속되어 있는 다른 장치들 간에 데이터 흐름을 제어하기 위한 프로토콜이다.
예를 들어, 컴퓨터는 보통 프린터가 찍을 수 있는 것보다 더 빠르게 데이터를 전송한다. 프린터는 프린터가 컴퓨터의 속도를 따라잡을 수 있을 때까지 데이터를 임시 저장하기 위한 버퍼를 가지고 있다. 만약 프린터가 컴퓨터의 전송속도를 따라잡기 전에 버퍼가 꽉 차게되면, 프린터 내의 작은 마이크로프로세서가 데이터 전송을 중지하라는 신호인 Xoff 신호를 컴퓨터에 보낸다. 그 후 데이터가 충분히 인쇄되고 버퍼의 저장공간에 여유가 생기면, 프린터는 컴퓨터에게 데이터 전송을 다시 재개하라는 의미로 Xon 신호를 보낸다.

여기서 "X"는 "transmitter"의 약자이므로, Xon 또는 Xoff 신호는 transmitter(송신장치)를 켜거나 끄기 위한 것이다. Xon의 실제 신호는 아스키의 Ctrl-Q의 비트 구성과 같으며, Xoff는 Ctrl-S와 같다. 
대개 모뎀을 자신의 컴퓨터에 설치할 때, 데이터 흐름제어를 Xon/Xoff로 할 것인지, 또는 CTS/RTS 방식으로 할 것인지를 설정하게 된다. 바이너리 데이터를 보낼 때, Xon/Xoff는 부호화된 글자이므로 인식되지 않을 수도 있다.


<SC16IS752 Flow Control>

1. Software Control



2. Hardware Control


(참고 : http://www.tipssoft.com/bulletin/board.php?bo_table=old_bbs&wr_id=229&page=5  http://terms.co.kr/XonXoff.htm , SystemBase자료)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi

▶순우리말과 뜻풀이

-ㄱ

가라사니 : 사물을 판단할 수 있는 지각이나 실마리.

가람 : 강의 우리말

가론 : 말하기를, 이른 바(所謂).

가시버시 : 아내와 남편의 우리말

가온길 : 정직하고 바른 가운데 길로 살아가라고 지은 이름.

가온누리 : 무슨 일이든 세상의 중심이 되어라.

가온, 가온대 : 중심, 가운데

가우리 : 고구려(중앙)

건잠머리 : 일 시킬 때 방법을 일러주고 도구를 챙겨주는 일. (예: 그는 건잠머리가 있어 잘 가르칠게다)

겨르로이 : 한가로이, 겨를 있게.

고수련 : 병자를 정성껏 돌보는 일

고수머리 : 곱슬머리

고타야 : 안동의 순 우리말

구다라 : 백제(큰 나라)

그루잠 : 깨었다가 다시 든 잠

그린나래 : 그린 듯이 아름다운 날개

그린내 : 연인의 우리말

그린비 : 그리운 남자라는뜻의 우리말

그미 : 그 여자.

길가온 : 길 가운데

까미 : 얼굴이나 털빛이 까만 사람이나 동물을 일컫는 말

꼬꼬지 : 아주 오랜 옛날.

꼬두람이 : 맨 꼬리 또는 막내

꼬리별 : 혜성

꽃샘바람 : 봄철 꽃이 필 무렵에 부는 찬 바람

꽃잠 : 신혼부부의 첫날밤을 이르는 우리말

-ㄴ

나르샤 : 날아 오르다를 뜻하는 우리말

나린 : 하늘이 내린

나릿물 : 냇물

나비잠 : 갓난 아이가 두팔을 머리위로 벌리고 편히 자는 잠

난이 : 공주의 순수한 우리말

너비 : 널리

너울 : 바다의 사나운 큰 물결

노고지리 : 종달새

눈바래기 : 멀리 가지 않고 눈으로 마중한다는

느루 : 한번에 몰아치지 않고 시간을 길게 늦추어 잡아서

는개 : 안개비와 이슬비 사이의 가는 비

늘솔길 : 언제나 솔바람이 부는 길

늘해랑 : 늘 해와 함께 살아가는 밝고 강한 사람

늦마 : 늦은 장마 비

-ㄷ

다소니 : 사랑하는 사람

다소다 : 애틋하게 사랑하다

다솜 : 애틋한 사랑

다원 : 모두 다 원하는, 모두 다 사랑하는 사람

단미 : 달콤한 여자, 사랑스러운 여자

달보드레하다 : 연하고 달콤하다

닻 별 : 별자리 중에서 '카시오페아'를 달리 이르는 말

도닐다 : 가장자리를 빙빙 돌아다니다

도담도담 : (어린아이 등이) 별탈없이 잘 자라는 모습

도래솔 : 무덤가에 죽 늘어선 소나무

도투락 : 어린아이 머리댕기

돌개바람 : 회오리 바람

드레 : 인격적으로 점잖은 무게 (예 : 어려도 드레가 있어 보이는구나)

-ㄹ

라온 : 즐거운, 기쁜

라온제나 : 기쁜 우리

라온하제 : 즐거운 내일를 뜻하는 우리말

라온힐조 : 즐거운 이른 아침

-ㅁ

마닐마닐 : 음식이 씹어먹기 알맞도록 부드럽고 말랑말랑하다

마루 : 하늘의 우리말

마소두래기 : 말(言)을 이곳저곳 옮겨 퍼뜨리는 것

마파람, 앞바람 : 남풍

맛조이 : 마중하는 사람. 영접하는 사람.

매지구름 : 비를 머금은 검은 조각구름

먼산바라기 : 그저 먼산을 향해 시선을 두고 있음을 뜻하는 말, 비슷한 말로 '별바라기'가 있다

모꼬지 : 놀이나 잔치 또는 그 밖의 일로 여러 사람이 모이는 일

모람모람 : 이따금씩 한데몰아서

물마 : 비가 많이 와서 땅 위에 넘치는 물

물비늘 : 잔잔한 물결이 햇살 따위에 비치는 모양

미르 : 용 의 순수 우리말

미리내 : 은하수 의 우리말

미쁘다 : 진실하다

-ㅂ

바오 : 보기 좋게.

베리, 벼리 : 벼루

별찌 : 유성

볼우물 : 보조개.

부라퀴 : 자기 이익을 위해서는 물불 가리지 않고 덤비는 사람

북새바람, 됫바람, 된 바람 : 북풍

비나리 : '축복의 말'의 우리말

비마중 : 비를 나가 맞이하는 일

-ㅅ

사그랑이 : 다 삭아서 못쓰게 된 물건

사나래 : 천사의 날개를 뜻하는 우리말

사달 : 대단찮은 사고나 탈

사부랑사부랑 : 물건을 느슨하게 묶거나 쌓아놓은 모양

사시랑이 : 가늘고 힘없는 사람

산다라 : 신라 김유신 장군의 순 우리말 아명

산돌림 : 옮겨다니며 한줄기씩 내리는 비, 소나기

새, 하, 마, 노 : 순서대로 동,서,남,북의 우리말

새라 : 새롭다

샘바리 : 어떠한 일에 샘이 많아 안달하는 마음이 강한 사람.

'바리'는 어떤 한 분야에 집중적인 사람을 낮추어 부르는 우리말. (예: 악바리, 군바리)

샛별 : 새벽에 동쪽 하늘에서 빛나는 금성을 이르는 말

서리서리 : 국수나 새끼 등을 헝클어지지 않게 빙빙 둘러서 포개 감는다는 것

섬서하다 : 지내는 사이가 서먹서먹하다

셈나다 : 사물을 잘 분별하는 슬기가 생겨나다

셈차리다 : 앞 뒷일을 잘 생각하여 점잖게 행동하다

소담하다 : 생김새가 탐스럽다

소마 : 오줌을 점잖게 이르는 말

소마소마 : 조마조마

소소리바람 : 이른 봄에 살 속으로 기어드는 차고 음산한 바람

수피아: 숲의 요정

숯 : 신선한 힘

슈룹 : 지금은 사라져버린 우산의 옛말

시나브로 : 모르는 사이에 조금씩, 조금씩

-ㅇ

아띠 : 친구

아라 : 바다의 우리말

아라가야 : 함안의 순 우리말

아람 : 탐스러운 가을 햇살을 받아서 저절로 충분히 익어 벌어 진 그 과실

아람치 : 자기의 차지가 된 것

아름드리 : 한 아람이 넘는 큰 나무나 물건 또는 둘레가 한 아름이 넘는 것

아리수 : 한강의 우리말

아리아 : 요정의 우리말

아사 : 아침

아스라이 : 아득히, 흐릿한

아퀴 : 일의 갈피를 잡아 마무르는 끝매듭

아토 : 선물

안다미로 : 담은 것이 그릇에 넘치도록 많이

앙짜 : 앳되게 점잔을 빼는 짓

애오라지 : 마음에 부족하나마, 그저 그런 대로 넉넉히, 넉넉하지는 못하지만

에멜무지로 : 단단하지 않고 대충 묶은 모양. 결과를 바라지 않고, 헛일하는 셈치고 시험삼아 하는 모양.

에우다 : 둘레를 삥 둘러싸다, 딴길로 돌리다

에움길 : 굽은길

여우별 : 궂은 날 잠깐 났다가 사라지는 별

여우비 : 해가 난 날 잠깐 내리는 비

예그리나 : 사랑하는 우리사이

옛살비 : 고향

오비다 : 좁은 틈이나 구멍속을 갉아내거나 도려내다

온 : 백(100)

온누리 : 온세상

온새미로 : 자연 그대로, 언제나 변함없이

올리사랑 : 자식의 부모에 대한 사랑. 또는 아랫사랑의 윗사람에 대한 사랑

옴니암니 : 아주 자질구레한 것 (예 : 그렇게 옴니암니 따지지 말게)

우수리 : 물건 값을 치르고 거슬러 받는 잔돈

윤슬 : 햇빛이나 달빛에 비치어 반짝이는 잔물결

은가람 : 은은히 흐르는 강(가람)을 줄여 만듦.

은가비 : 은은한 가운데 빛을 발하라.

이내 : 저녁나절에 어르스름한 기운

이든 : 착한, 어진

임 : '으뜸'이라는 뜻의 고대 한국어

-ㅈ

자귀 : 짐승의 발자국

자리끼 숭늉 : 밤에 마시기 위해 머리맡에 둔 물그릇

즈믄 : 천(1000)

지망지망히 : 조심성없이

집알이 : 새 집 또는 이사한 집을 인사차 찾아보는 일

-ㅊ

초아 : 초처럼 자신을 태워 세상을 비추는 사람

-ㅌ

타니 : 귀걸이

타래 : 실이나 노끈 등을 사려 뭉친 것

-ㅍ

파니 : 아무 하는 일 없이 노는 모양.

퍼르퍼르 : 가벼운 물체가 가볍게 날리는 모양.

포롱거리다 : 작은 새가 가볍게 날아오르는 소리.

푸실 : 풀이 우거진 마을

-ㅎ

하나린 : 하늘에서 어질게 살기를 바람.

하늬바람 : 서풍

하람 : 꿈의 뜻, 하늘이 내리신 소중한 사람에서 특정 음절을 따서 지은 이름

하르르하다 : 종이나 옷감 따위가 얇고 매우 보드레하다

하마하마 : 어떤 기회가 계속 닥쳐오는 모양, 어떤 기회를 마음조이며 기다리는 모양

하슬라 : 강릉의 순 우리말

하야로비 : 해오라기.

하제 : 내일

한 별 : 크고 밝은 별

한울 : 우주, 한은 바른, 진실한, 가득하다는 뜻이고 울은 울타리 우리 터전의 의미

핫아비, 핫어미 : 유부남, 유부녀의 우리말

헤윰 : 생각을 뜻하는 우리말

호드기 : 버들피리. 사투리로 호들기라고 함. (예: 소설 '동백꽃')

휘들램 : 이리저리 마구 휘두르는 짓

흐노니 : 누군가를 굉장히 그리워 하는것

힐조 : 이른 아침

희나리 : 마른장작 의 우리말

희치희치 : 드문드문 벗어진 모양, 군데군데 치이거나 미어진 모양

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi

주식에 관심을 갖게 된건 경제적으로 형편이 어려워지면서 부터이다.

갓 입사한 신입이 돈을 얼마나 모았겠어.

그러다 접하게 된 주식. 주식은 절대 안하겠다 생각했었는데..

하지만, 공부하면서 많은걸 배운다.

이젠 재테크는 나같은 봉급쟁이들에게 꼭 필요한거라 생각이 든다.

돈을 굴려서 조금씩 불리는 재미..

지금의 나에게는 다른곳으로 시선이 쏠리게 해주는 고마운놈이다.

이번 여름에는 아버지 개소주 해드려야겠다.


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi

컴퓨터가 너무 느려진다 싶어서 작업관리자를 들어갔더니만..;;

같은 프로세스가 마구 생기더니 아예 먹통을 만들어 버린다.

가만히 생각해보니 USB 메모리 스틱에서 autorun.inf와 ke(어쩌고저쩌고).exe 하는 파일이 PC에 고대로 흘러 들어온듯..

많은 사람들이 블로그에 해결하는 포스팅을 해놨다지만 깨끗하게 사라지질 않아 포맷.
(걸리신 분들은 잡는것보단 속시원히 밀고 하심이 좋을듯해요. 그게 더 빠름)

암튼 항상 코딩할때마다 폰트와 여러가지 환경 설정하는게 귀찮긴 하지만..

맘먹고 괜찮은 폰트를 찾아다니게 됨.

어떤분이 블로그에 올려놓은 주소.  http://dejavu-fonts.org 


Image:Families.png‎


산뜻하니 마음에 듬~!

다운은 아래 주소에서..

http://dejavu-fonts.org/wiki/index.php?title=Download
or
http://sourceforge.net/projects/dejavu/

귀찮으면 파일첨부 받으삼.

폰트 추가하는건 캡춰하기 귀찮으니 말로..

[제어판] 가서 [글꼴] 메뉴 누르면 폴더하나뜸. 거기에 몽땅 복사.

그리고 산뜻한 마음으로 공부시작.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
업그레이드~!!2009/01/12 12:10

MSP430을 잘 사용하기 위해 하드웨어 구조를 간단히 살펴보려고 합니다.

 

 

 

1. Clock Source

MSP430에는 외부의 클럭이 2개가 있고 내부에서 1개를 자체 생성할 수 있습니다.

1) XIN - XOUT : Low Frequency clock을 다는 곳으로 저전력 모드로 동작시키기 위한 것입니다. 단 클럭이 느리니까 저성능입니다.

2) XT2IN - XT2OUT : High Frequency clock을 다는 곳으로 고성능 모드로 동작시키기 위한 것입니다. 단 클럭이 빠르니까 전력 소모가 큽니다.

3) DCO : 내부에서 클럭을 생성하는 것입니다.

 

* 위의 Oscillator 블럭을 보시면 Oscillator 블럭의 출력을 MCLK, ACLK, SMCLK 클럭이 있습니다. 즉 하나의 오실레이터에서 ACLK, SMCLK, MCLK를 만들어 각 블럭에 서로 다른 클럭을 줄 수 있다는 것을 말합니다. MCLK는 CPU의 클럭으로만 사용이 됩니다. ACLK과 SMCLK는 다른 서브시스템의 클럭으로 사용됩니다. Tmote를 예로들면 32.768KHz는 ACLK에, DCO로부터의 4MHz는 MCLK에, 이것을 4분주한 1MHz는 SMCLK에 연결이 되어 사용이 됩니다. 그래서 TimerB는 ACLK을 이용하고 TimerA는 SMCLK를 이용합니다.

 

2. MSP430은 16BIT RISC 구조의 MCU 입니다.

 

3. 8채널의 12bit ADC가 있습니다. 이것은 설정을 통해 10bit으로 사용할 수도 있습니다. 이 중 2개의 port는 DAC로 설정하여 사용할 수 있습니다.

 

4. Timer는 TimerA와 TimerB 2가지가 있습니다. TimerA는 3개의 CC 레지스터가 있고, TimerB는 7개가 있습니다. 실제적 Timer는 2개이지만 여러개의 CC 레지스터가 있기 때문에 여러 개의 Timer의 효과를 낼 수가 있습니다.

 

5. 2개의 USART가 있스니다. USART0는 UART, SPI, I2C로 동작시킬 수 있고, USART1은 UART, SPI 모드로 동작시킬 수 있습니다.

 

6. 6개의 8BIT 포트가 있습니다. 이중 PORT1과 PORT2는 Interrupt를 지원합니다. PORT3 ~ PORT6은 Interrupt를 지원하지 않습니다.

 

7. 그 외에도 하드웨어 멀티플라이어, DMA 컨트롤러, Watch Dog 타이머 등이 있습니다.

 


 

 

위의 그림은 PIN의 기능을 나타낸 것입니다.

예륻들어 핀을 설명해보면 49번핀은 P5.5/SMCLK 라고 되어 있습니다. 모든 핀은 일반 PIO로 즉 단순 입출력 모드로 사용할 수 있습니다. 그것을 나타내는 것이 P5.5와 같이 단순히 나타낸 핀의 포트번호와 포트내핀번호 입니다. 함께 붙어있는 SMCLK라는 것은 핀의 단순 PIO기능이 아니라 내부의 하드웨어와 연관된 기능을 나타내는 것으로 즉 MOD Function을 나타냅니다. P5.5는 SMCLK라고 붙어 있는데 이것은 datasheet를 살펴보시면 SMCLK의 출력 기능을 나타낸다는 것입니다.

 

(http://cafe.naver.com/bluegio/509 에서 퍼왔습니다.)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG MSP430

현식씨의 도움으로 이런 기회를 잡게 되었다.

혼자만 알면 좋겠다만, 아는 사람은 다 알듯....

가서 인증받고 도메인 등록 기관가서 포워딩 시키면 끝~!!

(참고로 난 도메인클럽 : http://www.domainclub.kr/)

드디어 www.samsiki.pe.kr 탄생! ㅎㅎ

2년간 공짜라 넘흐 좋음~~~~

주소는 아래에 있습니다. 선착순이니 어여어여 발빠르게 움직이삼 (GOGOGOGO)



http://section.blog.naver.com/event/DomainPromotionEventForm.nhn#
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
WAVE FILE의 구조

WAVE 파일은 사운드 파일중에 한 형식으로 윈도우에서 가장 흔하게 쓰이는 파일중에 하나이다. 이번에 이 유령넘이 강좌?랍시고 주절 거리는 내용은 이넘의 WAVE 파일을 한번 재생해 보자..는 것이다. WAVE 파일을재생하는데는, 쉽게는 SoundPlay() 함수였던가? .. 한줄이면 족하다...
물론, 지금 이 강좌는 그렇게 한줄이면 끝나는 정도가 아닌, WAVE 파일의 밑바닥부터 꼭대기까지 샅샅히 훑어 내려가며, 그 내부를 마구 파헤쳐 WAVE 파일을 맘대로 주무를 수 있도록 하는 경지?에까지 도달하도록하는것이 목표다.
일단, WAVE 파일이고 머고 간에, 기본적인 공식?부터 알아보고 넘어가도록 하자.사운드라는 것에 대해 깊이 있는 지식을 가지고 있는 사람은
볼 필요가 없겠지만, 어디까지나 처음 시작하는 사람들이 볼 것 이라고가정하고 설명하도록 한다.
WAVE 파일을 재생하면서 가끔 등록정보를 보신 분들은 알겠지만, 대게WAVE 파일의 등록정보라고 하면, 16 Bit , Stereo , 44.1 kHz...  등등
의 정보가 보일것이다. 이게 뭐가 중요하냐고? 중요하다.. 정말 중요하다. 이것으로 WAVE 파일이 시작되는 것이기 때문이다.예를 들어서 다음
과 같은 WAVE 파일이 하나 있다고 보자.

------------------------------------------------------------------
[어떤 WAVE 파일의 등록정보]

- 곡명 : 유령이라 불러라!
- 16 Bit
- Stereo
- 44.1 khz
------------------------------------------------------------------

이 세가지 정보면 WAVE 파일의 모든 것?을 알 수 있다. 일단 이 3가지기본적인 정보만으로 이 WAVE 파일의 초당전송량(Bit/Second)이나,전체

재생시간등을 계산해 보자. (이거 배워두면 정말 좋다..-_-;;..그냥..)

일단 계산하는 방식은 모두 곱한다. 16 Bit 이므로 16 을 곱하고,스테레오 방식이기 때문에 (스테레오는 채널이 2개 이기때문에, 2를 곱한다

당연히 모노는 1채널이기 때문에 1을 곱하면 된다.... 1은 안곱해도 되는구나 --;) 그리고 44.1 kHz 라는 것은 1초에 44100 번 발광을 한다는

소리니까 44100을 곱하면 된다.


16 * 2 * 44100 = 1411200 Bit 다.. 다시 바이트로 고쳐주려면, 나누기 8을 하면 된다. (왜 나누기 8을 하냐고 묻는다면.. 아시다시피.. 8 Bit

는 1 Byte 이기 때문이다..) 나누기 8을 한 결과 176400 이라는 숫자가나왔다.


즉, 이 WAVE 파일은 초당 176400 Byte 의 용량을 전송한다는 얘기다..숫자가 너무 크다고?.. 다시 KByte로 환산해 보자.. 172.265625가 나오

는데,귀찮으니까 소수점 아랫것들은 잘라버리고 정수부분만 읽어보자면172 KB 라고 나올 것이다. 그렇다. 이 WAVE 파일은 1초에 172 KB 나 차

지한다. (더럽게 크구만..) 전체 재생시간을 구하는 것 역시 간단하다.단순히 나누기만 하면 되기 때문이다.  전체 파일 크기를 알고 있다면,


" 전체 파일 크기 / 초당 용량 = 전체 재생 시간 (초 단위) "

라는 공식이 성립되는 것이다.자,이제 자신의 컴퓨터에 들어있는 WAVE들을 모조리 불러다가 그 넘들의 재생시간을 구해보고 실제로 플레이

해본다음 비슷하게 맞는지 비교해 보라.

------------------------------------------------------------------
여기서, 숙제.. 다음의 WAVE 파일들의 전체 크기는 얼마나 될까??????

[1]  8 Bit , Mono , 22 kHz
[2] 16 Bit , Mono , 11 kHz
[3] 16 Bit , Stereo , 22 KHz

각각의 WAVE 파일들의 재생시간은 총 1분 30초씩 이다. 그렇다면 각각의 WAVE 파일들의 전체 파일크기는 얼마나 될까?? ( 대한민국 초등교육

과정을 이수한 사람이라면 누구나 풀 수 있는 문제라서 풀이는 생략..)
------------------------------------------------------------------

WAVE 파일은 대게 8 Bit , 16 Bit 가 많이 쓰이는데, 24, 32 Bit 파일은 별도로 치고.. 대표적인 8 / 16 Bit 파일들은 아래의 그림처럼 파일

에 저장되어 있다. 8 Bit 라면 - 1 Byte 이므로 1 Byte 단위 마다 저장되어 있고, 16 Bit 라면 당연히 2 Byte 마다 저장되어 있다. 아래 그림

을 보면 8 Bit 파일은 전부 16개 (16진수 10까지..) 로 되어 있는 반면 16 Bit 는 같은 크기인데도 8 칸 밖에는 안된다. 이론적으로 16 Bit 는

8 Bit 에 비해 2 배의 용량을 차지하기 때문이다. [ D ] 라고 표기되어있는 것은 본인이 편의상 구분하기 쉽게 [ DATA ] 를 줄여 표현한 것이

고.. ( Mono 는 L / R 구분이 없다 ) Stereo에서 [ L ] , [ R ] 이라고

표기 한 것은 양 채널 ( Left Channel, Right Channel ) 을 뜻 한다...

------------------------------------------------------------------
[ 8 Bit Mono ]

   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F  10
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
: D : D : D : D : D : D : D : D : D : D : D : D : D : D : D : D :
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

[ 8 Bit Stereo ]

   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F  10
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
: L : R : L : R : L : R : L : R : L : R : L : R : L : R : L : R :
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+


[ 16Bit Mono ]
     1       2       3       4       5       6       7       8
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
:   D   :   D   :   D   :   D   :   D   :   D   :   D   :   D   :
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

[16Bit Stereo ]

     1       2       3       4       5       6       7       8
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
:   L   :   R   :   L   :   R   :   L   :   R   :   L   :   R   :
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

------------------------------------------------------------------

이건 어디까지나 2 채널(Stereo)방식만을 봤을때 그렇다는 것이고, 채널이 많아지면 또 저장구조는 당연히 달라지게 된다. 요즘 흔히 말하는

5.1채널이니 7.1채널이니 하는 것들은, 저것과는 모양새가 또 다르다..

------------------------------------------------------------------

WAVE 파일에 대해서 간략하게나마 알아봤는데,이제부터는 정말 자세히파헤쳐 볼 시간이다. WAVE 파일들은 크게 청크 부분과 데이타 부분으로

나뉜다. 실제 사운드가 들어있는 데이타 부분 앞에는 헤더 청크 부분이있는데, WAVE 파일의 구조를 살펴보면 아래와 같다.

------------------------------------------------------------------
1. Wave 파일 포맷(I)

   1) PCMWAVEFORMAT 구조체의 구조
      -. WAVEFORMAT wf;
      -. WORD       wBitsPerSample;

   2) WAVEFORMAT 구조체의 구조
      -. WORD   wFormatTag;
      -. WORD   nChannels;
      -. DWORD  nSamplesPerSec;
      -. DWORD  nAvgBytesPerSec;
      -. WORD   nBlockAlign;

   3) 예 : 22kHz 샘플링된 8bit 스테레오 Wave 파일의 구조

      PCMWAVEFORMAT PcmWaveFormat;
     
      PcmWaveFormat.wf.wFormatTag = 1;
      PcmWaveFormat.wf.nChannels = 2;      
      PcmWaveFormat.wf.nSamplesPerSec = 22050; 
      PcmWaveFormat.wf.nAvgBytesPerSec = 44100;
      PcmWaveFormat.wf.nBlockAlign = 2;
      PcmWaveFormat.wBitsPerSample = 8;       


2. Wave 파일 포맷(II)
------------------------------------------------------------------
     데이터형 Byte  내용            의미
------------------------------------------------------------------

1) RIFF chunk 
     - Char   4   "RIFF"          파일의 종류가 RIFF 파일을 의미
     - DWORD  4   FILE SIZE       현재부터 끝까지의 파일크기
                                  (파일크기-4Byte 또는, 데이터 크기
                                   +40Byte)
     - Char   4   "WAVE"          Wave 파일을 의미
  
2) FMT sub-chunk
     - Char   4   "fmt "          FMT sub-chunk의 시작
     - DWORD  4   16              현재 포인터(16 Byte)
     - short  2   wFormatTag      PCMWAVEFORMAT의 값
                                  ( 1:Wave Format이 PCM 방식 )
     - short  2   nChannels       채널 수 ( 1:모노, 2:스테레오 )
     - DWORD  4   nSamplesPerSec  샘플링 수
                                  ( 11kHz:11025,
                                    22kHz:22050,
                                    44kHz:44100 )
     - DWORD  4   nAvgBytesperSec 초당 샘플바이트
                                  ( nSamplesPerSec*BlockAlign )
     - short  2   BlockAlign      샘플당 바이트( nChannels*비트/8 )
     - short  2   wBitsPerSample  샘플당 비트수

   3) Data sub-chunk
     - Char   4   "data"          데이터청크의 시작
     - DWORD  4   DATA SIZE       데이터의 크기
                  DATA            데이터
------------------------------------------------------------------

WAVE 파일들을 EDITOR 로 읽어보면 파일의 내용이 아래와 같이 나온다원래는 HEX 값이 나와야 하는데 메모장으로 읽어들였더니..아래처럼 나

왔다.. -_-; 그래도 상관없다. 중요한건 제일 처음 " RIFF " 라는 단어로 시작한다는 것이다. 그 다음에 WAVE 파일 포맷임을 알리는 " WAVE "

라는 단어가 온다. 보통 파일포맷에 따라 헤더에 해당 파일포맷임을 리는 식별자가 오는데 GIF나 PCX, 또는 EXE 파일들을 한번씩 열어 보면

같은 단어로 시작한다는 것을 알 수 있을 것이다.

[1] RIFF$?WAVEfmt D쵆Xdata? ...

[2] RIFF?$WAVEfmt D??data? ...

[3] RIFF? WAVEfmt   D  ? PAD ?                                      

                                          
------------------------------------------------------------------              

                   
3 개의 WAVE 파일들을 열어봤는데, 모두 RIFF .. WAVE .. fmt 로 시작하고 있다.이 파일들이 WAVE 파일임을 알 수 있는 것이다. 사실 WAVE파

일에도 ADPCM 이니 PCM 이니 하는 식으로 다양한?포맷이 존재하는데 이

것은 쉽게 생각하면 압축방식의 차이다.  여기서 RIFF 파일 형식이라는

말이 나오는데, RIFF에 대해서 설명하자면..
          
------------------------------------------------------------------
[ RIFF 파일(Resource Interchange File Format) ]
------------------------------------------------------------------ 
음성이나 비디오 같은 유의 데이터들은 용량이 매우 크기 때문에  이를저장할 시에는 비트 단위보다는 블록 단위로 저장을 하게 된다.

이러한블록은 가변적인 크기를 가질 수 있는데 이를 위해서는 데이터 블록 앞에 헤더를 사용해 이를 정의해 주어야 한다. 일례로

10 MByte 의  음성

데이터를 파일에 저장 하려할 때 블록 단위로 하지 않으면 데이터를 불러오는데 10M의 메모리가 필요하게 된다. 이렇게 된다면 불러오기도 힘

들 뿐만 아니라 불러오는데 걸리는 시간이 많이 걸리는 단점이 생긴다.그러나 10M의 음성데이터를 0.5M 씩 블록으로 나누어 저장한다면 20 개

의 블록을 가질 것이다. 즉, 0.5M씩 메모리에 불러온 후 출력하고,  메모리를 해제한 후 다시 다음 블록을 불러오면 그만큼 메모리도 절약 할

수 있어 매우 편리하게 된다. 또한 데이터 저장 블록 앞에 블록의 데이터 크기를 넣어주는데, 이는 예를 들자면 어느 시간동안 모노로 듣다가

후에 스테레오로 들을 수 있는 상황 등에 대처하기 쉽다. 이럴 때 데이터 블록 앞에 데이터에 대한 정보를 만들어 준다. 각각의 부분 하나 하

나는 청크(Chunk)라고 하고 처음에 나오는 상자를 부모 청크,그 하단에위치하는 부분을 자식 청크, 데이터들은 데이터 청크라고 한다.이와 같

은 구성 데이터를 저장하는 방식을 RIFF라 하고 위와 같은 구성으로 저장된 데이터를 RIFF 파일이라 한다.  WAVE  파일이나 AVI  파일이 바로

RIFF 파일이다.



기타



다음으로 알아두면 앞으로 강좌를 이해하기에 좋을 압축방식들에 대한정보들을 소개한다.

[ PCM(Pulse Code Modulation) 방식 ]

이 방식은 가장 널리 사용되는 방식으로서 음성을 아날로그에서 디지털로 변환하여 양자화(작은 단위화)한 데이터를 그대로 저장한 후 재생할

때에는 그 데이터를 디지털에서 아날로그로 재변환하여 음성 파형을 만든다. 이 방식은 양자화를 할 때 생기는 오차가 존재하지만 재생 시 상

당히 우수한 품질을 가진다.이 방식의 특징은 제로 크로스의 방법에 비해 생성되는 데이터의 양이 많다는 점이다.예를 들어, 샘플링 주파수를

8Khz로 하고 양자화 시 정밀도를 8bit로 하면 8000 * 8 = 64000/sec = 64Kbit/sec로 초당 64KB가 생성된다. 그러나 최근에는 메모리의 가격이

많이 떨어지고 있어서 뛰어난 음성 품질을 보장할수 있는 PCM방식을 많이 사용하고 있다.


[ DM(Delta Modulation) 방식 ]

DM 방식은 제로 크로스 방식과 PCM 방식의 중간적인 형태로 볼 수 있다이 방식은 어느 시점n의 파고와 바로 전 시점 (n-1)의 파고를 비교하여

그 차이점을 1,0,-1로 표현한다. DM 방식의 단점은 원파형의 급격한 변화를 따라가지 못한다는 것이다. DM 방식의 하드웨어 구현은 바로 이전

값에 1 또는 -1을 더하기만 하면 되므로 아주 간단하다.


[ DPCM(Differencial PCM) 방식 ]

우리의 음성 파형을 실제로 보면, 서로 인접한 샘플링 시점의 비교에서파형이 크게 변하지 않는다. 이점에 착안하여 만든 방식이 DPCM 방식이

다. DPCM 방식은 개선된 PCM 방식이라 할 수 있다. 즉,  PCM 방식은 파고 값을 그대로 저장하지만 DPCM  방식은 이전의 값과의 차이만을 저장

하는 것이다.  음성의 파형이 크게 변하지 않으므로 차이값도 작아져서 bit-rate를 낮출 수 있다.

[ ADPCM(Adaptive Differencial PCM) 방식 ]

ADPCM 방식은 위의 여러 가지 방식의 단점을 보완한 것이다. DM 방식이나 DPCM 방식은 압축된 비트수로 표현 되는 최대의 변화량이 실제 파형

의 변화량보다 작기 때문에 실제로 구현하면 재생 파형이 원 파형의 급격한 변화를 나타내지 못한다. 이를 막기 위하여 양자화할때 시간 간격

을 작게 하면 bit-rate를 증가시키는 결과를 가져오게 된다.ADPCM 방식은 파형의 변화량이 급격히 변할 때는 양자화 할 때의 단위를 크게하여

차분값을 이용하는 것으로 파형의 진폭이 클경우 약간의 잡음이 있어도 사람이 잘 감지하지 못하는 점을 이용한 것이다.

(출처 : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tutorial&no=112)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi

RF 수신단에서 수신된 전력은 감쇄 및 잡음의 영향으로 인해 매우 낮은 전력레벨을 갖고 있다, 그렇기 때문에 반드시 증폭이 필요한데, 이미 외부에서 많은 잡음을 포함해서 날아온 신호이기 때문에 무엇보다도 잡음을 최소화하는 증폭기능이 필요하다.

LNA는 NF(잡음지수)가 낮도록 동작점과 매칭포인트를 잡아서 설계된 증폭기로서, 보통 1.5~2.5 사이의 NF값이 요구되게 된다.

LNA는 RF amp중 가장 기본적인 증폭기로서, 설계의 난이도가 가장 쉬운 편에 속한다. 저잡음 특성을 만드려면 낮은 잡음지수를 가지는 Tr과, 저항등의 열잡음소자를 적게 사용하면서 전류역시 작게 사용해야 한다. 그와 함께 conjugate matching을 통해 최대한의 gain을 확보하게 한다.


①수신기 전체의 잡음 지수를 낮출 목적으로 만들어진 고주파 증폭기. 전파 손실이 큰 가시거리의 통신 회선 등, 미소한 입력 전압의 수신 전파에 사용된다. 피라미터 증폭기, 저잡음 트랜지스터 증폭기, 메이저 등이 있고, 최근 반도체 기술의 발달에 따라 상온 파라메트릭 증폭기, GaAs, 전계 효과 트랜지스터(FET) 등이 사용되고 있다.
②메이저, 파라메트릭 증폭기, FET 증폭기 등을 초단(初段)에 넣은 잡음이 적은 고주파 증폭기. 지구국의 수신부 등에 사용된다.

출처 : Tong - 나무 그늘님의 용어 사전통



저잡음증폭기가 사용되는 여러 가지 휴대용 무선통신 단말기들은 거의 유사한 구조로 구성되어 있다. 일반적인 RF 송수신 시스템의 구조가 그림에 나와 있다. 이 그림에서 보는 것처럼 수신단을 구성하는 요소들로서 저잡음증폭기, 주파수생성기(frequency synthesizer), 주파수변조기(down-conversion mixer), IF 증폭기 등이 있고, 양방향 통신 시스템의 경우 송신 방향으로 주파수변조기(up-conversion mixer), 전력 증폭기(power amp), 대역 제한 필터(band-limiting filter) 등이 기본적인 구성 요소가 되다.

사용자 삽입 이미지


그림에서 보는 것처럼 시스템이 송신 상태에 있을 때, 코딩된 음성 신호는 주파수변조기를 통하여 RF 신호로 바뀌고 대역통과필터를 거친 후 전력 증폭기에서 증폭되어 안테나에서 송신된다. 이 시스템이 수신 상태에 있을 때는, 안테나 및 듀플렉서를 통과한 아주 미약한 신호(최소 ~μV 정도의 크기)를 잡음의 영향을 최대한 줄이면서 원하는 주파수 대역만을 선별하고 그 대역만을 증폭시켜서 믹서에 공급해주는 회로가 저잡음증폭기이다. 이 신호는 down-conversion 주파수변조기를 통하여 IF 신호로 변화한 후 시스템에 공급해준다. 저잡음증폭기를 설계함에 있어서 꼭 갖추어야할 조건들로는 잡음지수(NF: noise figure)의 최소화, 적당한 이득과 IIP3(third order intercept point), 50Ω 입력 임피던스 등이다.

출처 : 매칭회로를 내장한 저잡음증폭기의 최적 설계(Optimal Design of LNA with Internal Tuning Circuit)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
회로나 시스템에 입력된 에너지의 반사량을 나타내는 지표.

정재파(Standing Wave)는 진행파가 어떤 경계면을 기준으로 반사되어 돌아온 파와 합쳐지면서 발생한 정지된 파동을 의미한다.

VSWR (또는 SWR) 은 입력면 정재파의 최소값과 최대값의 비로서, 정재파가 얼마나 크냐를 나타내는 지표이다. 앞에 V(Voltage)가 붙은 것은 전기(전자)회로에서 부르는 표현으로서, RF에선 주로 VSWR이라고 부른다.

정재파가 반사량에 비례하기 때문에, VSWR은 회로 입력단의 반사량을 의미하는 또다른 지표로 사용된다.

반사가 전혀 없다면, 정재파도 없기 때문에 비율은 1이 되어 최상의 값을 가지고, 반사량이 아주 크다면 VSWR은 무한대로 가게될 것이다.

정재파비 = (1 + 반사계수) / (1 - 반사계수)

결국 정재파비는 그냥 S11이나 반사계수의 또다른 표현법일 뿐, 심도 있는 이해가 필요한 특수용어는 아니다. 위의 수식에서 알 수 있듯이 반사계수의 수식을 이용하여 반사량을 조금 다른 기준으로 본 것 뿐이다.


-----------------------------------------------------------------------------------


VSWR은 파형(여기선 전압)의 크기 값의 비교로 진행하는 파의
최대값에 대한 진행파의 최소값을 나타낸다.

여기서 최대값과 최소값의 의미는 무엇일까?

서로 다른 임피던스를 가지고 있는 두개의 매질을 생각해 볼때
진행파는 임피던스 부정합에 의하여 Terminated Wave와
Reflected Wave로 나누어 질것이다.
이때 반사되는 파는 원래 진행하는 파와 더불어 위상이 같은 점이
발생할것이고 또한 위상이 반대(180)되는 점이 생기리라는것은
쉽게 예상할수 있을것이다. 이때 동위상 되는 점에서의 진행파의
크기를 보면 원래(오리지날 진행파)보다 크기가 커졌을 것이고(max)
Out of Phase 되는 점은 오리지날 보다 크기가 감소(min)
되었을것이다.
그럼 이때 min 에 대한 max 값을 구할수 있을것이고 이것이
바로 VSWR의 값이 된다.

VSWR = {1+|반사 계수|}/{1-|반사 계수|} 로 정의 되기에
VSWR이 1이라는것은 완전 매칭이 되어서 입사파가 모두
통과 된다는 것이고
VSWR이 infinite value을 가진다는것은 완전 전반사 된다는것을
의 하겠지요....

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi


험상궂은 내얼굴을 이쁘게 만들어 볼까나~?

'개구리 뒷다리~♬'

난 이뻐질테다!!
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi