<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>aleos's weblog</title>
	<atom:link href="http://aleosblog.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://aleosblog.wordpress.com</link>
	<description>just another weblog</description>
	<lastBuildDate>Sun, 16 Jan 2011 15:47:52 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='aleosblog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>aleos's weblog</title>
		<link>http://aleosblog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://aleosblog.wordpress.com/osd.xml" title="aleos&#039;s weblog" />
	<atom:link rel='hub' href='http://aleosblog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Введение в SDL</title>
		<link>http://aleosblog.wordpress.com/2008/06/22/sdl-intro/</link>
		<comments>http://aleosblog.wordpress.com/2008/06/22/sdl-intro/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 17:25:42 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[suai]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[intro]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=63</guid>
		<description><![CDATA[Simple DirectMedia Layer (SDL) – это кроссплатформенная мультимедийная библиотека, реализующая единый программный интерфейс к графической подсистеме, звуковым устройствам и средствам ввода для широкого спектра платформ. SDL предоставляет простой доступ к видео и аудио оборудованию, а также к устройствам ввода. Эта библиотека реализует уровень абстракции от аппаратного обеспечения, что обеспечивает ее кроссплатформенность. SDL реализована для многих [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=63&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Simple DirectMedia Layer (SDL) – это кроссплатформенная мультимедийная библиотека, реализующая единый программный интерфейс к графической подсистеме, звуковым устройствам и средствам ввода для широкого спектра платформ.</p>
<p>SDL предоставляет простой доступ к видео и аудио оборудованию, а также к устройствам ввода. Эта библиотека реализует уровень абстракции от аппаратного обеспечения, что обеспечивает ее кроссплатформенность.<span id="more-63"></span> SDL реализована для многих операционных систем, например, таких как Linux, MacOSX, Windows, FreeBSD, Solaris, QNX, также ее средства доступны и для менее распространенных систем. Функции SDL написаны на языке C, но ее программные интерфейсы (API) доступны и для других языков.</p>
<h2>Состав SDL</h2>
<p>Библиотека SDL состоит из таких компонентов, как SDL_video, реализующий функции обработки видео (сжатие, вывод на экран, и другие): SDL_audio, позволяющий работать с аудиоданными; SDL_cdrom, обеспечивающий доступ к устройству чтения и  записи дисков; SDL_keyboard – набор функций, позволяющий обрабатывать сигналы с клавиатуры; SDL_joystick – модуль, позволяющий работать с различными устройствами ввода (например, джойстик); SDL_timer дает возможность организации всевозможных таймеров в программе. Кроме перечисленных модулей существуют еще и другие, менее значимые.</p>
<p>Дополнительных модулей для этой библиотеки существует много, и так как она открыта, то любой желающий может легко расширить ее возможности. Также существуют официальные дополнения, среди которых: SDL_image – модуль для работы с двумерной графикой; SDL_mixer – средство обработки многоканального звука; SDL_net – добавляет возможности для создания сетевых приложений; SDL_ttf, SDL_rtf – функции работы со шрифтами.</p>
<p>Место библиотеки SDL в системе взаимодействия приложения и операционной системы показано на рисунке:</p>
<p><a href="http://aleosblog.files.wordpress.com/2008/06/sdl_intro.png"><img class="aligncenter size-medium wp-image-62" src="http://aleosblog.files.wordpress.com/2008/06/sdl_intro.png?w=300&#038;h=205" alt="Место SDL в разработке приложений" width="300" height="205" /></a></p>
<p>У библиотеки SDL помимо того, что она кроссплатформенна, есть еще одно большое преимущество – ее функциями достаточно легко пользоваться благодаря исчерпывающей документации. Кроме руководств на официальном сайте, можно найти хорошее описание всех функций в самих исходных кодах программы. Так как они распространяются свободно, это позволяет программистам легко использовать функции библиотеки SDL в своих приложениях.</p>
<h2>Применяем SDL</h2>
<p>Чтобы использовать в своих программах библиотеку SDL требуется подключить файл SDL.h. Перед использованием каких-либо функций следует провести инициализацию SDL, после чего создать поверхность для вывода на нее графических объектов. Данные задачи выполняются с помощью функций, описанных ниже.</p>
<p>Функция SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) производит инициализацию библиотеки SDL (в качестве параметра принимает список библиотек, представляющий собой флаги). Строкой SDL_Surface *screen производится объявление поверхности. Все видео объекты выводятся на специально созданную для них поверхность.</p>
<p>Функция  SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUBLEBUF) отвечает за создание поверхности – в данном примере создается поверхность размером 640&#215;480 пикселей, глубина цвета – 32 бита, к тому же включается двойная буферизация, обеспечивающая более плавный и быстрый вывод на экран. Функция возвращает указатель на SDL_Surface.</p>
<p>SDL широко используется при программировании различных приложений. Чаще всего с ее помощью пишутся игры, но ее возможности используются также плеерами, и другими программами. Ниже приведен список некоторых наиболее известных приложений, созданных с помощью средств библиотеки SDL, либо использующих некоторые ее возможности:</p>
<ul>
<li>Quake 4;</li>
<li>The Battle for Wesnoth;</li>
<li>OpenTTD;</li>
<li>Freeciv;</li>
<li>SuperTux;</li>
<li>XMoto;</li>
<li>Mplayer;</li>
<li>VLC;</li>
<li>DOSBox;</li>
<li>и другие.</li>
</ul>
<h2>SDL и OpenGL</h2>
<p>При разработке игр SDL часто используется в связке с библиотекой OpenGL, потому что SDL обеспечивает эффективную работу с аппаратным обеспечением, а OpenGL обладает широким набором функций по обработке и построению графических объектов. В результате получается мощный инструмент программирования интерактивной графики. Так как обе библиотеки открыты и кроссплатформенны, приложения, созданные на их основе, легко переносимы на различные операционные системы, что расширяет аудиторию пользователей этих приложений.</p>
<p>Библиотека SDL обладает широким набором функций, ее API доступны для многих языков программирования, она кроссплатформенна и открыта. Эти свойства делают SDL мощным средством создания приложений.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/63/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/63/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=63&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/06/22/sdl-intro/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>

		<media:content url="http://aleosblog.files.wordpress.com/2008/06/sdl_intro.png?w=300" medium="image">
			<media:title type="html">Место SDL в разработке приложений</media:title>
		</media:content>
	</item>
		<item>
		<title>Фильтрация сигналов в octave</title>
		<link>http://aleosblog.wordpress.com/2008/05/24/octave-filter/</link>
		<comments>http://aleosblog.wordpress.com/2008/05/24/octave-filter/#comments</comments>
		<pubDate>Sat, 24 May 2008 15:27:18 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[octave]]></category>
		<category><![CDATA[suai]]></category>
		<category><![CDATA[ЦОС]]></category>
		<category><![CDATA[волны]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[фильтр]]></category>
		<category><![CDATA[шум]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=23</guid>
		<description><![CDATA[Завершаю серию заметок по работе в octave заметкой о фильтрации сигналов. Используется такой же сигнал, который использован в предыдущих заметках, но в данном примере показана возможность использования фильтра. set (0, 'defaulttextfontname', 'Terminus,16'); QUALITY = 20; N = 512 ; % Максимальное значение времени t minfreq=100/(N-1); maxfreq = 257/(N-1); % максимальная частота волны dfreq = 2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=23&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Завершаю серию заметок по работе в octave заметкой о фильтрации сигналов. Используется такой же сигнал, который использован в предыдущих заметках, но в данном примере показана возможность использования фильтра.</p>
<pre>
<span id="more-23"></span>
set (0, 'defaulttextfontname', 'Terminus,16');

QUALITY = 20;
N = 512 ; % Максимальное значение времени t
minfreq=100/(N-1);
maxfreq = 257/(N-1); % максимальная частота волны
dfreq = 2 * maxfreq; % Частота дискретизации (замеров)
disp('Частота волны freq = '), disp(maxfreq)

t = 0:1/(QUALITY*dfreq):N;

% Уравнение волны
F = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t+N/4);

%%============================================================================%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NOISE (ШУМ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%============================================================================%%

figure(1)
NoiseKoef = 100;
noise=randn([1, length(F)])/NoiseKoef;
FN=F + noise; % signal with noise
subplot(3,1,1);
plot(t, F,'b', t, FN, 'r');
title('signal with noise');
axis([0, 50])
subplot(3,2,3); 

% Expected value (математическое ожидание)
ExpVal = mean(FN)

% Variance (дисперсия)
Var = var(FN)

% Correlation (корреляция)
Cor = xcorr(FN);
subplot(3,2,6)
plot(Cor,'r')
title('Correlation')
grid on

% Probability density (плотность рапределения)
subplot(3,2,3)
ProbDens = hist(FN);
hist(FN)
title('Probability density')
grid on

% Probability distribution (закон распрделения)
subplot(3,2,4)
ProbDist = 0;
for i=1:length(ProbDens)
    ProbDist(i+1)=ProbDens(i)+ProbDist(i);
end
ProbDist=ProbDist/length(FN);
plot(ProbDist);
title('Probability distribution')
grid on

% Spectrum (спектр)
subplot(3,2,5)
spectrum = abs(fft(FN));
plot(spectrum,'r')
title('Spectrum')
grid on

%%============================================================================%%
%%%%%%%%%%%%%%%%%%% Low-pass filter (фильтр низких частот) %%%%%%%%%%%%%%%%%%%%%
%%============================================================================%%
figure(2);
% зашумленный сигнал
subplot(4,1,1);
plot(t, F,'b', t, FN, 'r');
title('signal with noise');
axis([0, 50])

% исходный сигнал
subplot(4,1,2);
plot(t, F,'m');
title('original signal');
axis([0, 50])

% low-pass filter (фильтр Баттерворта)
%Wp = minfreq*0.3; Ws = maxfreq;
%[n,Wn] = buttord(Wp,Ws,3,60)
%[b,a] = butter(n,Wn);
%FLP = filter(b,a,FN);

%subplot(3,1,3)
%plot(t, FLP, 'b')
%title('low-pass filter');
%axis([0, 50])

Np=3;%	Порядок фильтра
fc=minfreq*0.3;	% cutoff frequency (частота среза)
[b,a]=butter(Np,fc);
FLP = filter(b,a,FN);

subplot(4,1,3)
plot(t, FLP, 'b')
title('low-pass filter');
axis([0, 50])

% выделение гармоники
%figure(3)
subplot(4,1,4);
spectrum = abs(fft(FLP));
plot(spectrum,'r');
title('harmonic');
axis([0, 50, 0, 5])
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=23&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/05/24/octave-filter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>
	</item>
		<item>
		<title>Определение параметров сигнала в octave</title>
		<link>http://aleosblog.wordpress.com/2008/05/23/octave-signal-parameters/</link>
		<comments>http://aleosblog.wordpress.com/2008/05/23/octave-signal-parameters/#comments</comments>
		<pubDate>Fri, 23 May 2008 10:16:46 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[octave]]></category>
		<category><![CDATA[suai]]></category>
		<category><![CDATA[ЦОС]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[характеристики сигнала]]></category>
		<category><![CDATA[шум]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=22</guid>
		<description><![CDATA[Продолжение заметок по ЦОС в octave. В этот раз определение различных характеристик (параметров) сигналов: математическое ожидание; дисперсия; корреляция; плотность распределения; закон распределения; спектр сигнала. Измеряются характеристики оригинального и зашумлённого сигнала. set (0, 'defaulttextfontname', 'Terminus,16'); %% QUALITY = 20; N = 512 ; % Максимальное значение времени t freq = 257/(N-1); % Частота волны dfreq = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=22&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Продолжение заметок по ЦОС в octave. В этот раз определение различных характеристик (параметров) сигналов:</p>
<ul>
<li>математическое ожидание;</li>
<li>дисперсия;</li>
<li>корреляция;</li>
<li>плотность распределения;</li>
<li>закон распределения;</li>
<li>спектр сигнала.</li>
</ul>
<p>Измеряются характеристики оригинального и зашумлённого сигнала.</p>
<pre>
<span id="more-22"></span>
set (0, 'defaulttextfontname', 'Terminus,16');

%% 

QUALITY = 20;

N = 512 ; % Максимальное значение времени t
freq = 257/(N-1); % Частота волны
dfreq = 2 * freq; % Частота дискретизации (замеров)
disp('Частота волны freq = '), disp(freq)

t = 0:1/(QUALITY*dfreq):N;

% Уравнение волны
F = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t+N/4);

figure(1)
subplot(3,1,1)
plot(t,F,'r')
axis([0, 50])
title('Original signal')
grid on

% Expected value (математическое ожидание)
ExpVal = mean(F)

% Variance (дисперсия)
Var = var(F)

% Correlation (корреляция)
Cor = xcorr(F);
subplot(3,2,6)
plot(Cor,'r')
title('Correlation')
grid on

% Probability density (плотность рапределения)
subplot(3,2,3)
ProbDens = hist(F);
hist(F)
title('Probability density')
grid on

% Probability distribution (закон распрделения)
subplot(3,2,4)
ProbDist = 0;
for i=1:length(ProbDens)
    ProbDist(i+1)=ProbDens(i)+ProbDist(i);
end
ProbDist=ProbDist/length(F);
plot(ProbDist);
title('Probability distribution')
grid on

% Spectrum (спектр)
subplot(3,2,5)
spectrum = abs(fft(F));
plot(spectrum,'r')
title('Spectrum')
grid on

%%============================================================================%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NOISE (ШУМ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%============================================================================%%

figure(2)
NoiseKoef = 100;
noise=randn([1, length(F)])/NoiseKoef;
%plot(noise)
%axis([0, 50])
FN=F + noise; % signal with noise
subplot(3,1,1);
plot(t, F,'b', t, FN, 'r');
title('signal with noise');
axis([0, 50])
subplot(3,2,3); 

% Expected value (математическое ожидание)
ExpVal = mean(FN)

% Variance (дисперсия)
Var = var(FN)

% Correlation (корреляция)
Cor = xcorr(FN);
subplot(3,2,6)
plot(Cor,'r')
title('Correlation')
grid on

% Probability density (плотность рапределения)
subplot(3,2,3)
ProbDens = hist(FN);
hist(FN)
title('Probability density')
grid on

% Probability distribution (закон распрделения)
subplot(3,2,4)
ProbDist = 0;
for i=1:length(ProbDens)
    ProbDist(i+1)=ProbDens(i)+ProbDist(i);
end
ProbDist=ProbDist/length(FN);
plot(ProbDist);
title('Probability distribution')
grid on

% Spectrum (спектр)
subplot(3,2,5)
spectrum = abs(fft(FN));
plot(spectrum,'r')
title('Spectrum')
grid on
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=22&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/05/23/octave-signal-parameters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>
	</item>
		<item>
		<title>Дискретизация и восстановление сигнала в octave. Теорема Котельникова</title>
		<link>http://aleosblog.wordpress.com/2008/05/15/octave-kotelnikov/</link>
		<comments>http://aleosblog.wordpress.com/2008/05/15/octave-kotelnikov/#comments</comments>
		<pubDate>Thu, 15 May 2008 08:23:19 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[octave]]></category>
		<category><![CDATA[suai]]></category>
		<category><![CDATA[ЦОС]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[сигнал]]></category>
		<category><![CDATA[теорема Котельникова]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=21</guid>
		<description><![CDATA[Продолжение серии заметок по работе в octave. В этот раз это цифровая обработка сигналов и теорема Котельникова, которая гласит, что если максимальная частота в сигнале больше половины частоты его дискретизации, то сигнал не может быть восстановлен без искажений. В следующем коде это утверждение проверяется, применяя различную частоту дискретизации. set (0, 'defaulttextfontname', 'Terminus,16'); QUALITY = 16; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=21&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Продолжение серии заметок по работе в octave. В этот раз это цифровая обработка сигналов и теорема Котельникова, которая гласит, что если максимальная частота в сигнале больше половины частоты его дискретизации, то сигнал не может быть восстановлен без искажений. В следующем коде это утверждение проверяется, применяя различную частоту дискретизации.</p>
<pre>
<span id="more-21"></span>
set (0, 'defaulttextfontname', 'Terminus,16');

QUALITY = 16;
N = 2048; % Максимальное значение времени t
freq = 257/(N-1); % Частота волны
dfreq = 2 * freq; % Частота дискретизации (замеров)
disp('Частота волны freq = '), disp(freq)

t = 0:1/(20*dfreq):N;

% Уравнение волны
F = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t+N/4);

% Уравнение волны 0.7

t1 = 0:1/(0.7*dfreq):N;

F1 = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t1+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t1+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t1+N/4);

t2 = 0:1/(1*dfreq):N;
% Уравнение волны 1
F2 = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t2+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t2+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t2+N/4);

t3 = 0:1/(1.5*dfreq):N;
% Уравнение волны 1.5
F3 = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t3+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t3+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t3+N/4);

% Уравнение волны: A * sin (2 \pi t\ omega)
% Имеем гармонику с наибольшей частотой 2*pi*257/(N-1)*t: частота = 257/(n-1)
% По т. Котельникова частота дискретизации должна быть в 2 раза больше частоты самой высокочастотной гармоники, поэтому она равна 2 \omega

figure(1) % Исходный сигнал

subplot(3,1,1)
plot(t1,F1)
axis([0. 50])
subplot(3,1,2)
plot(t2,F2)
axis([0. 50])
subplot(3,1,3)
plot(t3,F3)
axis([0. 50])

% Интерполяция 0.7
figure(2)

subplot(3,1,1);
plot(t1, F1)
axis([0. 50])

subplot(3,1,2);
ti1 = 0:1/(0.7*dfreq*1.5):N;
FI1 = interp1(t1,F1,ti1,'spline');
plot(ti1, FI1)
axis([0. 50])

subplot(3,1,3);
plot(t,F)
axis([0. 50])

% Интерполяция 1
figure(3)

subplot(3,1,1);
plot(t2, F2)
axis([0. 50])

subplot(3,1,2);
ti2 = 0:1/(1*dfreq*1.5):N;
FI2 = interp1(t2,F2,ti2,'spline');
plot(ti2, FI2)
axis([0. 50])

subplot(3,1,3);
plot(t,F)
axis([0. 50])

% Интерполяция 1.5
figure(4)

subplot(3,1,1);
plot(t3, F3)
axis([0. 50])

subplot(3,1,2);
ti3 = 0:1/(1.5*dfreq*1.5):N;
FI3 = interp1(t3,F3,ti3,'spline');
plot(ti3, FI3)
axis([0. 50])

subplot(3,1,3);
plot(t,F)
axis([0. 50])
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=21&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/05/15/octave-kotelnikov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>
	</item>
		<item>
		<title>Построение графиков функций и объемных геометрических фигур в octave</title>
		<link>http://aleosblog.wordpress.com/2008/05/07/octave-plots/</link>
		<comments>http://aleosblog.wordpress.com/2008/05/07/octave-plots/#comments</comments>
		<pubDate>Wed, 07 May 2008 17:05:23 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[octave]]></category>
		<category><![CDATA[suai]]></category>
		<category><![CDATA[графики]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[plot]]></category>
		<category><![CDATA[surf]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=20</guid>
		<description><![CDATA[Продолжаю серию заметок с примерами работы в octave. Надеюсь, это окажется кому-то полезным. set (0, 'defaulttextfontname', 'Terminus,16'); %% Maclaurin's trisectrix figure(1) phi = -3*pi/2 : .2 : 3*pi/2; alpha = pi; r = alpha ./ cos(phi/3); subplot(1,2,1) plot(phi,r,'-r') title('rectangular coordinates') axis([-2*pi 2*pi 0 10*pi]) xlabel('\phi') ylabel('r') grid on subplot(1,2,2) polar(phi,r,'-b') title('polar coordinates') axis([-5*pi 5*pi -5*pi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=20&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Продолжаю серию заметок с примерами работы в octave. Надеюсь, это окажется кому-то полезным.</p>
<pre>
set (0, 'defaulttextfontname', 'Terminus,16');

%% Maclaurin's trisectrix
figure(1)

phi = -3*pi/2 : .2 : 3*pi/2;
alpha = pi;
r = alpha ./ cos(phi/3);
<span id="more-20"></span>

subplot(1,2,1)
plot(phi,r,'-r')
title('rectangular coordinates')
axis([-2*pi 2*pi 0 10*pi])
xlabel('\phi')
ylabel('r')
grid on

subplot(1,2,2)
polar(phi,r,'-b')
title('polar coordinates')
axis([-5*pi 5*pi -5*pi 5*pi])
xlabel('\phi')
ylabel('r')
grid on

%% nonlinear equations

figure(2)

% 3x^5 - 8x^3 - 18x^2 + 2 = 0
subplot(3,1,1)
x = -3:0.1:3;
y = 3*x.^5 - 8*x.^3 - 18*x.^2 + 2;
plot(x,y,"-r;3x^5 - 8x^3 - 18x^2 + 2 = 0;")
axis([-3 3 -3 3])

Y = [3 0 -8 -18 0 2]
roots(Y)

hold on
plot(roots(Y), '*b')
hold off

grid on

% 5^x = 2 + e^{-2x}
subplot(3,1,2)
x = -8:0.01:10;
y = 5.^x - 2 - exp(-2*x);
plot(x,y,"-b;5^x = 2 + e^{-2x};")
axis([-4 5 -10 10])
grid on

% x^3+y^3=8 y=1+x^{3/2}
subplot(3,1,3)
x = -5:0.001:5;
y1 = (8-x.^3).^(1/3);
y2 = 1+x.^(3/2);
plot(x,y1,"-b;x^3+y^3=8;", x, y2, "-r;y=1+x^{3/2};")
axis([-2 5 0 10])
grid on

%% elliptic paraboloid

% \frac{y^2}p + \frac{z^2}q = 2x
figure

a=4;
b=20;
u = (0:0.05:5)';
v = [0:0.05*pi:2*pi];
X = a*sqrt(u)*cos(v);
Y = b*sqrt(u)*sin(v);
Z = u*ones(size(v));
surf(X,Y,Z);

shading interp
colormap pink
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=20&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/05/07/octave-plots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>
	</item>
		<item>
		<title>Решение системы линейных уравнений методом Гаусса</title>
		<link>http://aleosblog.wordpress.com/2008/04/09/octave-gauss/</link>
		<comments>http://aleosblog.wordpress.com/2008/04/09/octave-gauss/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 19:38:00 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[octave]]></category>
		<category><![CDATA[suai]]></category>
		<category><![CDATA[СЛАУ]]></category>
		<category><![CDATA[метод Гаусса]]></category>
		<category><![CDATA[gauss]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matlab]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=19</guid>
		<description><![CDATA[Данный модуль не претендует на полноту, но может быть использован в учебных целях. # gauss.m # Решение системы линейных уравнений методом Гаусса function X = gauss(A, B) r = rows(A); c = columns(A); Ag = [A B]; # Расширенная матрица if (rank(A) == rank(Ag)) if (rank(A) == c) disp("Единственное решение (система совместна и определена)"); # [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=19&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Данный модуль не претендует на полноту, но может быть использован в учебных целях.</p>
<pre># gauss.m
# Решение системы линейных уравнений методом Гаусса
function X = gauss(A, B)
<span id="more-19"></span>

    r = rows(A);
    c = columns(A);
    Ag = [A B];    # Расширенная матрица

    if (rank(A) == rank(Ag))
        if (rank(A) == c)
            disp("Единственное решение (система совместна и определена)");

            # Прямой ход
            for k = 1:r                 # k - номер шага
                if (Ag(k,k) != 0)
                Ag(k,:) = Ag(k,:)./Ag(k,k);    # Приведение первого коэффициента уравнения к 1
                for i = k + 1:c            # i - счетчик по остальным уравнениям
                    Ag(i,:) = Ag(i,:) - Ag(k,:)*Ag(i,k);
                endfor
                else
                    disp("Деление на ноль.")
                    return
                endif
            endfor
            # Обратный ход
            X = Ag(end,end);    # Последний корень - угловой элемент матрицы Ag
            for k = r - 1:-1:1
                X = [Ag(k, c + 1) - sum(Ag(k, c - (length(X) - 1):c) * X); X];    # Подсчёт остальных корней
            endfor
        else
            disp("Больше одного решения (система совместна, но неопределена)");
        endif
    else
        disp("Нет решений (система несовместна)");
    endif

endfunction</pre>
<p>PS Модуль предназначен для octave, но должен работать и в matlab&#8217;е.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=19&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/04/09/octave-gauss/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>
	</item>
		<item>
		<title>Устанавливаем scratchbox, maemo SDK и Xephyr</title>
		<link>http://aleosblog.wordpress.com/2008/03/09/maemo-sdk-scratchbox-xephyr/</link>
		<comments>http://aleosblog.wordpress.com/2008/03/09/maemo-sdk-scratchbox-xephyr/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 08:44:01 +0000</pubDate>
		<dc:creator>aleos</dc:creator>
				<category><![CDATA[maemo]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[n800]]></category>
		<category><![CDATA[scratchbox]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[xephyr]]></category>

		<guid isPermaLink="false">http://aleosblog.wordpress.com/?p=4</guid>
		<description><![CDATA[В этой заметке я расскажу, как установить среду разработки приложений для платформы maemo, в частности, для nokia n800. Необходимые скрипты установки можно взять отсюда: http://repository.maemo.org/stable/chinook/. Там же лежит файлик INSTALL.txt с инструкциями установки на английском языке. Итак, начнем. Все описанные в этой заметке действия производились в debian etch. scrathbox Первым делом нужно загрузить скрипт установки [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=4&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>В этой заметке я расскажу, как установить среду разработки приложений для платформы maemo, в частности, для nokia n800. Необходимые скрипты установки можно взять отсюда: <a title="Скрипты установки" href="http://repository.maemo.org/stable/chinook/" target="_blank">http://repository.maemo.org/stable/chinook/</a>. Там же лежит файлик INSTALL.txt с инструкциями установки на английском языке. Итак, начнем.<br />
<span id="more-4"></span><br />
Все описанные в этой заметке действия производились в debian etch.</p>
<h2>scrathbox</h2>
<p>Первым делом нужно загрузить скрипт установки maemo-scratchbox-install_4.0.1.sh:</p>
<blockquote><p># wget http://repository.maemo.org/stable/chinook/maemo-scratchbox-install_4.0.1.sh</p></blockquote>
<p>Нужно добавить право исполнения файла:</p>
<blockquote><p># chmod a+x ./maemo-scratchbox-install_4.0.1.sh</p></blockquote>
<p>и запустить скрипт установки:</p>
<blockquote><p># ./maemo-scratchbox-install_4.0.1.sh</p></blockquote>
<p>После запуска скрипт выкачивает необходимые для установки пакеты из сети. Это может занять продолжительное время. Установка проходит в автоматическом режиме. После окончания установки необходимо добавить пользователей в группу sbox. Это делается следующей командой:</p>
<blockquote><p># /scratchbox/sbin/sbox_adduser USER yes</p></blockquote>
<p>где USER &#8211; имя пользователя. Чтобы членство в новой группе возымело силу, необходимо выйти из системы и зайти вновь.</p>
<p>Scratchbox установлен. Далее необходимо установить SDK.</p>
<h2>maemo SDK</h2>
<p>Загрузить скрипт установки SDK:</p>
<blockquote><p># wget http://repository.maemo.org/stable/chinook/maemo-sdk-install_4.0.1.sh</p></blockquote>
<p>И назначаем права на исполнение:</p>
<blockquote><p>$ chmod +x maemo-sdk-install_4.0.1.sh</p></blockquote>
<p>Для установки maemo sdk достаточно прав обычного пользователя, имеющего право доступа к scratchbox:</p>
<blockquote><p>$ sh maemo-sdk-install_4.0.1.sh -y</p></blockquote>
<p>Установщик интерактивный. В начале спрашивает какой набор пакетов необходимо установить. Я выбрал последний, самый полный, вариант, но можно выбрать любой другой, удовлетворяющий вашим потребностям:<br />
<a href="http://aleosblog.files.wordpress.com/2008/03/pakageselection.png"></a></p>
<div style="text-align:center;"><a href="http://aleosblog.files.wordpress.com/2008/03/pakageselection.png"><img src="http://aleosblog.files.wordpress.com/2008/03/pakageselection.thumbnail.png?w=497" alt="Pakage Selection" /></a></div>
<p>После еще пары вопросов, установщик загрузит необходимые пакеты из сети и установит их. Во время установки могут быть выданы предупреждения об отсутствующей цели. Ничего в этом страшного нет. Цель установим позже.</p>
<h2>Xephyr</h2>
<p>Для работы скорее всего понадобится xserver-xephyr.</p>
<blockquote><p># aptitude install xserver-xephyr</p></blockquote>
<p>чтобы установить его.</p>
<p>Для запуска Xephyr необходимо выполнить:</p>
<blockquote><p>$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac  -extension Composite</p></blockquote>
<h2>Итог</h2>
<p>Установка завершена. Чтобы войти в scratchbox, нужно выполнить в консоли:</p>
<blockquote><p>$ /scratchbox/login</p></blockquote>
<p>Сменить целевую платформу можно командой:</p>
<blockquote><p>&gt; sb-conf select CHINOOK_ARCH</p></blockquote>
<p>где ARCH &#8211; имя платформы (X86 или ARMEL).</p>
<p>Полезные ссылки:</p>
<p><a title="Рекомендации по установке (англ.)" href="http://tablets-dev.nokia.com/4.0/INSTALL.txt" target="_blank">http://tablets-dev.nokia.com/4.0/INSTALL.txt</a><br />
<a href="http://www.progbox.co.uk/wordpress/?p=453" target="_blank">http://www.progbox.co.uk/wordpress/?p=453</a><br />
<a title="Официальный сайт Scratchbox'а" href="http://www.scratchbox.org/" target="_blank">http://www.scratchbox.org/</a><br />
<a title="Установка среды глазами IBM" href="http://www.ibm.com/developerworks/ru/library/l-lob800-1/" target="_blank">http://www.ibm.com/developerworks/ru/library/l-lob800-1/</a><br />
<a title="Руководство по maemo" href="http://maemo.org/development/documentation/tutorials/maemo_4-0_tutorial.html" target="_blank">http://maemo.org/development/documentation/tutorials/maemo_4-0_tutorial.html</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aleosblog.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aleosblog.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aleosblog.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aleosblog.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aleosblog.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aleosblog.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aleosblog.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aleosblog.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aleosblog.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aleosblog.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aleosblog.wordpress.com&amp;blog=2892233&amp;post=4&amp;subd=aleosblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aleosblog.wordpress.com/2008/03/09/maemo-sdk-scratchbox-xephyr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/919ea0e6b1b402309b1f9f9831a1d457?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aleos</media:title>
		</media:content>

		<media:content url="http://aleosblog.files.wordpress.com/2008/03/pakageselection.thumbnail.png" medium="image">
			<media:title type="html">Pakage Selection</media:title>
		</media:content>
	</item>
	</channel>
</rss>
