2010年11月30日星期二

Doodle for scheduling the event

http://doodle.com/BSPpgit4vnpem3uh

2010年11月29日星期一

How to use iwconfig

http://linux.die.net/man/8/iwconfig

running OFDM on USRP2

The example provided with the gnuradio codebase requires small
modifications in order to work with USRP2. You can try with the
modifications I made:

www.cs.ucsb.edu/~veljko/downloads/ofdm_example.tar.gz

In my case with XCVR2450 daughter boards running the following works fine:

transmitter:
benchmark_ofdm_tx_new.py -f 2.45G --tx-amplitude 0.9 -M 8 -s 200 -m
bpsk --fft-length=512 --occupied-tones=80 -i 64 --tx-gain=10
--cp-length=128

receiver:
benchmark_ofdm_rx_new.py -e eth1 -f 2.45G -m bpsk --fft-length=512
--occupied-tones=80 -d 64 --rx-gain=30 --cp-length=128

You can try with the transmitter only first and usrp2_fft.py on the
other end, just to see if there's something getting transmitted and if
it looks like OFDM.

cheers,


veljko


http://www.mail-archive.com/discuss-gnuradio@gnu.org/msg22592.html
http://www.mail-archive.com/discuss-gnuradio@gnu.org/msg22793.html
http://www.mail-archive.com/discuss-gnuradio@gnu.org/msg22609.html
http://www.mail-archive.com/discuss-gnuradio@gnu.org/msg22811.html

A few more from Bin Zan:
http://old.nabble.com/the-gnuradio-ofdm-receiver-td27526241.html#a27526241
http://old.nabble.com/question-about-ofdm-subcarrier-mapping-td27630888.html#a27630888
http://old.nabble.com/user/UserPosts.jtp?user=1589439

2010年11月24日星期三

TinyOS tutorial and Mote-PC communication

http://docs.tinyos.net/index.php/TinyOS_Tutorials

Mote-PC communication
http://docs.tinyos.net/index.php/Mote-PC_serial_communication_and_SerialForwarder

Berkeley tutorial lessons: (* recommended)
http://webs.cs.berkeley.edu/tos/api/tinyos-1.x/doc/tutorial/lesson1.html

gnuradio in Matlab now!!

http://www.mathworks.com/help/toolbox/commblks/rn/bsjl8d4.html#bsjrdu7

2010年11月23日星期二

Google 阅读器键盘快捷键 ZZ

Google 阅读器键盘快捷键

浏览
对条目采取行动

j/k:
下一个/上一个条目
s:
为条目加注星标

空格:
下一个条目或页面
l:
喜欢条目

+ 空格:
上一个条目或页面

=:
提高放大倍数

-:
降低放大倍数


t:
标记条目

n/p:
向下/向上扫描条目(仅列表)
e:
通过电子邮件发送条目

+ n/p:
下一个/上一个订阅
+ s:
共享条目

+ x:
展开文件夹
+ d:
共享条目并添加注释

+ o:
打开订阅或文件夹
v:
查看原始内容

或键:
展开/折叠条目(仅限列表)

c:
添加评论

+ c:
查看评论

m:
将条目标为已读/未读

+ a:
全部标为已读

+ t:
打开“发送到”菜单

跳转
应用程序

g 然后 h:
转到主页
r:
刷新

g 然后 a:
转到所有条目
f:
切换至全屏模式

g 然后 s:
转到加星标条目
u:
hides/unhides the left hand side module

g 然后 + s:
转到共享条目
1:
切换至扩展视图

g 然后 u:
打开订阅选择器
2:
切换至列表视图

g 然后 t:
打开标签选择器
/:
将光标移动到搜索框

g 然后 + t:
转到趋势页
a:
添加订阅

g 然后 d:
转到查找页
依次键入 g 和 f:
打开朋友选择器

依次键入 g 和 +f:
转至朋友的共享条目

依次键入 g 和 c:
转到评论视图

依次按 g 和 e:
开始探索

依次按 g 和 p:
转到热门条目

2010年11月21日星期日

xG Technology: xMax CR technology

xG Technology: xMax

With xMax xG Technology translates the concept of mobile phones to the (unlicensed) band of 900MHz. The core of xMax technology is it capability of sensing for other systems in the band and determine if interference has reached unacceptable levels, and in such case change band. This process can be carried out up to 33 times a second. The main practical problems a product of this kind has to deal with are synchronization issues and robustness of the detection scheme.

While xG Technology webpage mainly offers a high level description of this cognitive radio technology, it also points out some characteristics of the physical layer:
  • Handover decisions are made by fussing multiple samples and measurements. This allows the system to avoid unnecessary band switches due to a temporary interference or degraded network conditions.
  • Compared to this the modulation is very simple: xMax uses a conventional single carrier modulation with BPSK modulation. However it allows the bonding of multiple of these single carriers channels working in different bands. Then, while the technology supports up to 1Mbps per channel with BPSK modulation, it allows the use of 18 RF channels simultaneously, and thus it can achieve up to 18Mbps. Higher rates could be achieved by employing adaptive modulation instead of BPSK.
http://www.xgtechnology.com/

Some other commercial products on CR are summarized as follows:
http://spectralholes.blogspot.com/2010/11/cognitive-radio-products.html

2010年11月20日星期六

able to receive OFDM 802.11g raw data

By setting up two USRP2 communication through SMA cable.

Transmitter: ftw_802.11_ofdm_tx code
$ sudo ftw_ofdm_tx.py --interface=eth0 --mac-addr=USRP2 MAC ADD --gain=10 --freq=2.412e9 --interp=5 (default for 802.11a/g) --payload="YOUR Message" --regime=3(QPSL, r=0.5) --repetition=100000 (number of frames to send) | sudo tee /YOUR location/output.txt

Receiver: observed by usrp2_fft.py

Next step is to collect all the features of OFDM.

802.11 network on campus damn sucks!!!

as titled.

Learn Python The hard way

http://learnpythonthehardway.org/index

2010年11月18日星期四

C++ tutorial

http://www.cplusplus.com/doc/tutorial/

2010年11月15日星期一

beacon message in 802.11 ZZ

Beacon frame is one of the management frames in IEEE 802.11 based WLANs. It contains all the information about the network. Beacon frames are transmitted periodically to announce the presence of a Wireless LAN network. Beacon frames are transmitted by the Access Point (AP) in an infrastructure BSS. In IBSS network beacon generation is distributed among the stations.

[edit] Components of a Beacon frame

Beacon frame consist of MAC header, Frame body and FCS. Some of the fields are enlisted below.

  • Timestamp
After receiving the beacon frame all the stations change their local clocks to this time. This helps with synchronization.
  • Beacon interval
This is the time interval between beacon transmissions. The time at which a node (AP or station when in Ad-hoc) must send a beacon is known as Target Beacon Transmission Time (TBTT). Beacon interval expressed in Time Unit (TU). It is a configurable parameter in the AP and typically configured as 100 TU [1].
  • Capability information
Capability information field spans to 16 bits and contain information about capability of the device/network. Type of network such as AdHoc or Infrastructure network is signaled in this field. Apart from this information, it announce the support for polling, encryption details also.
  • SSID
  • Supported rates
  • Frequency-hopping (FH) Parameter Set
  • Direct-Sequence (DS) Parameter Set
  • Contention-Free (CF) Parameter Set
  • IBSS Parameter Set
  • Traffic Indication Map (TIM)
--------------------------------------------------
More detail of beacon content can be accessed from:
http://www.wi-fiplanet.com/tutorials/print.php/1492071

2010年11月12日星期五

SVN to control the version of project codes (ZZ)

http://www.abbeyworkshop.com/howto/misc/svn01/

Subversion Cheat Sheet

This Subversion cheat sheet was created during the initial setup of Subversion on Apache 2.0 on Windows and Mac OS X. A detailed tutorial covering most of the features of Subversion can be found in the online Subversion book. However, to make Subversion more useful for me, I created this Readers' Digest version.

Create a Repository

To store projects in Subversion, first you must create a repository. This must be done to a local drive on a local machine. Creating a repository on a network drive is not supported. To create a repository type:

UNIX

svnadmin create /path/to/repository

Windows

svnadmin create d:/path_to_repository

By default this sets up a Berkeley database to store the repository. Individual projects should be created as subdirectories of the repository directory (see the next section). Notice that the Windows version includes a drive letter, but also uses forward slashes instead of back slashes. The forward slashes are required even on Windows.

Add a New Project - svn import

To add a project, the Subversion documentation suggests that you create a directory structure like the following:

Picture of the Directory Structure

A root project directory contains three subdirectories, branches, tags, and trunk. Your files and directories are stored under the trunk directory.

Create the directories as described. Assuming the project directory is a subdirectory of the current directory, you would enter the following command

UNIX

svn import project file:///repository_name/project -m "First Import"

Windows

svn import project file:///d:/repository_name/project -m "First Import"

Network

svn import project http://host_name/svn_dir/repository_name/project -m "First Import"

Notice the Network example includes an svn_dir. This assumes you are using Apache 2.0 and the Subversion modules. When setting up Subversion on Apache, a virtual directory is created on the server that points to your repository directory. More information on Apache 2 setup is described later in this document.

This creates the initial project which you can work from. To get the files under version control, you must checkout a project to begin working on it.

Checking Out a Project - svn checkout

To start using the version control features check out a project into your local working directory. This is done with the following command:

UNIX

svn checkout file:///repository_name/project/trunk project

Windows

svn checkout file:///d:/repository_name/project/trunk project

Network

svn checkout http://host_name/svn_dir/repository_name/project/trunk project

In these examples, project is the name of the directory where you want to store the checked out project on your local file system.

Getting a List of Projects - svn list

To get a list of the current projects stored in a repository, you can use the following command.

UNIX

svn list --verbose file:///repository_name/project

Network

svn list --verbose http://host_name/svn_dir/repository_name/project

This will show you a list of each project directory in that repository.

Reviewing Changes - svn status

To see what files you have changed or added to your checked out work, use the update command:

UNIX

svn status

This command will give you a listing of new files, files that have been changed, and files that have been deleted. New files or deleted files must be added or removed using the add and delete commands (see more below.)

Adding New Files and Directories - svn add

When you add a new file or directory to a project that has been checked out, you must tell Subversion to include that file or directory in its version control.

UNIX

svn add file_or_dir_name

Adding a directory will add the directory and all the files and directories in it. However, this does not add the file or directory to the repository, you must still issue a commit to update the repository.

Deleting Files and Directories - svn delete

If you can add, you can also delete. If you wish to remove a file your directory from be versioned, you use the delete command:

UNIX

svn delete file_or_dir_name

Like add, you must perform a commit before the file is actually deleted from the repository.

However, the delete command does have another option not found in add. With the delete command you can remove files or directories from the repository. For example, the following command would remove a project and all the files under it.

Network

svn delete -m "Deleting project dir" http://localhost/svn_dir/repository/project_dir

This version of the command comes in particulary useful if someone has accidently imported files into the wrong place (I wouldn't know about that myself of course.)

Committing Changes - svn commit

Once you have added, deleted, or changed files or directories, you can then commit those changes to the repository. This command is pretty straightforward:

Network

svn commit -m "Saving recent changes" http://localhost/svn_dir/repository/project_dir

Updating Your Local Files - svn update

If you have a set of files checked out and would like to update them to the most recent version of files in the repository, use the update command.

Network

svn update

If there are newer files in the repository, they will overwrite any files you have locally. Before using this command, you may want to use the svn diff command to find out what the differences are between your local files and the repository.

Tagging Projects or Creating Project Specific Versions

Subversion does not track the version numbers for individual projects automatically. Instead, it tracks each update to the repository and tracks the versions of these updates. To create interim project releases, you must create "Tags" which identify a specify version of a project. This is done by making a virtual copy of a project in the tags directory. For example:

svn copy http://host_name/repos/project/trunk http://host_name/repos/project/tags/0.1.0 -m "Tagging the 0.1.0 release of the project"

This creates a sort of bookmark or snapshot which records the current state of the project. Then, you can checkout the project in this state at any time by simply referring to that release number.

To get a list of the releases for a project.

svn list http://192.168.0.4/svn/repos/prj1/tags
0.1.0/

Then to check out a release you would type:

svn list http://192.168.0.4/svn/repos/prj1/tags/0.1.0

A  0.1.0\dir1
A 0.1.0\dir1\file3
A 0.1.0\dir1\file4
A 0.1.0\file1
A 0.1.0\file2
A 0.1.0\textfile.txt
A 0.1.0\file3
Checked out revision 13.

Since the project has been saved in the tags directory. Release 0.1.0 can be retrieved at any time in the future.

Basic Apache Setup

You must use Apache 2.0 to install Subversion. Just compile and copy or copy the Subversion Apache module into the Apache modules directory. The following two files must be uncommented or added to the httpd.conf file:

  LoadModule dav_module         modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

Next, you must setup a location directive in the httpd.conf file to associate a directory with Subversion repositories. This example uses the SVNParentPath setting to point to a parent directory which contains repository subdirectories. This is convenient as it allows you to add as many repositories as you need without having to restart Apache or modify the httpd.conf file.

  
DAV svn

# All repos subdirs of d:/svn
SVNParentPath D:/svn

Note:When using Fink to install Subversion on Mac OS X, the Subversion Apache module is stored in the Fink package listing with the prefix: libapache2. The package full name is libapache2-mod-svn. If you are using Fink, it will automatically install the modules into the correct directory.

General Notes

Below are a list of notes from initial setup and testing.

  • Subversion versions the repository, not individual projects. For example, I have two projects, project 1 and project 2, and check out each project when the current repository version is 3. I make changes to each project and commit those changes back to the repository. For each change, the revision number is incremented in the repository and its current version is now 5. The current revision of each project will also be 5 as they have no separate revision number.
  • To setup the Subversion module on Apache for Windows, I had to give the Apache Service access to the local file system. This is done on Windows by setting up a login account for the service. Setup an account in the Users application in Control Panel, make sure to set the password. Once this is done, go to the Services tool in Control Panel. Change the login for the Service to the account you created. XP will automatically give the Login as a Service privilege to the account (the OS must do this as the tools are not available XP Home, only in XP Pro). Once you do this and start and stop the Apache Service, you should be able to read and write to the repository directories. Note: Setting up a log in account for a Service can create a security hole. Consider your security requirements before doing this.
  • Individual files and directories that did not exist during the initial import, must be added individually using the svn add command.

2010年11月10日星期三

硬盘安装Ubuntu 9.04 实现Ubuntu 和 windows 双系统共存

http://blog.csdn.net/youngway520/archive/2009/10/13/4662258.aspx

http://www.linuxidc.com/Linux/2009-11/23078p3.htm

2010年11月4日星期四

BBN code

bbn802111_cop/branches/usrp2_version/gr-bbn/src/examples$ bbn_80211b_rx.py -b -f 2.412G -d 4 -v | tee regression_unsync_01.txtfind_usrps

TinyOS search engine

http://www.google.com/cse/home?cx=000490616372089452102%3Ajdf9nzpy7se