Problems fixed
1. "Cross" button;
2. offspring text error;
http://popworldtesting2.appspot.com/
Tuesday, September 27, 2011
Saturday, September 24, 2011
Wednesday, September 21, 2011
2nd Draft
Based on the idea before, I plan to divide this project into two basic parts. One is the android application on the phone side, another one is the web server on the cloud.
Consider about the limitations of cell phone , such as the compute power , the limited memory space and the battery power. I plan to use the cell phone just as a data connector and message sender. All the other stuff will be done on the sever side.
The user first need login the sever, then established a connection between the sever and client to exchange data. Then the user can get and send the GPS location information to the sever. (Here's a problem, I've found sometimes I can get my location on google map on the cell phone without turning on the GPS, is it possible that google get my MAC address of my phone?) Then the phone will get the message from the sever side display these messages. When a user log off , it will send a message to the sever and disconnect from it.
On the sever side, because it is mainly based on google map , is it better to use google app engine rather than Amazon EC2? The sever will connect to a database which stores the user's data, and do the function of compute users location , share it , and send it to the client side. After share it to all the users with in a certain range, users will see which people is nearby them. When the connection between client and sever established, each client will get a unique client ID from the sever in order to distinguish them from each other. With this ID the client can send message to the sever to invite other client to have a conversation with them.
Here's the draft schedule of the project:
1. Build the login window and layout of the application;
2. Display the google map on the phone;
3. Collect the GPS data from the phone send to the sever and return the certain location;
4. Send the message from the client side and get the message on the sever side;
5. Group the message and send back to certain users;
Basic Idea
I have pop up an idea about a smart phone application based on social network such as facebook , twitter, etc. Here's the briefly description of the application. The key word is "chat room". It is not like the chat room based on a website , as my idea , it's a dynamic chat room which can be built or dismiss in real time. The initial idea is let people do "check in"s to share their location information. So in a certain range they will know how many people and who is near them. Then this application will start work , it will build up a "chat room" for people within this certain range. This "chat room" will have several formats. It can be built up by people who didn't know each other or just between friend or certain people. Users can do "invite" to invite someone to set or join a "chat room", or they can build a public "chat room" with a certain title on it , like title of "party on Friday night". With this kind of public "chat room" it will have some limitations of authority, it can be opening for every body , or setting a password for certain people, or sending request to the holder of the "chat room" to get the permission into it. After get into the "chat room" it should be real time messages from people in this room. Every body can send messages to people in this room with their name or pick up the text color they like to distinguish from others. And all the chat things can be done by only text on their own phone, so they can chat with people whenever and wherever they want if there have enough users of this application.
This is just the initial idea , but there's some problems if I want build up this kind of application, the first problem is where I will store the message data and how people can get the message from others if only one of them send the message? (forward?) I think if I want this application come true, I need a web server which I don't have right now , because I am an international student I only have a laptop and can't run it for 24 hours. Also I think this is very hard for me if I do it by myself , in case of I do not know any other classmates in this class. If you think this is a good idea for a project can you be kindly forward it to the class to see if anyone interested in it, so we can do the project together. If you think this idea is not good , feel free to tell me and I will try to think about another one.
Fourier Transforms
1. 1D Fourier Transform
Inverse Fourier Transform:
2. Properties of Fourier Transform
3. Convolution Theorems
Tuesday, September 20, 2011
A personal review of : Sensing Meets Mobile Social Networks: The Design, Implementation and Evaluation of the CenceMe Application
Introduction:
This paper presents an implementation of a people centric sensing application called "CenceMe". This is a kind of application which can infer people's presence by using mobile phone's sensors. And it can analysis different sensor's data information to get a personal status then can be integrated into Social Networks such as Facebook. It has a split architecture optimized for performance and battery life of mobile phones. And has a user study used for initial testing and optimization of performance. The motivation of this project is that along with the increasing number of smart phone users and lots of different sensors are used in these smart phones, we can get people's location , status like running , walking, or sitting, etc, by collecting data through sensors. And then users can share their status on Social Networks, so people can get almost real time status from each other.
How it works?
The system can be divided into two parts, the phone software and the backend software on the server. It has a split level classification and a power aware duty cycle. On the phone side , it has 5 sensors. 1.the bluetooth sensor , it is used to sense the presence of other users and check the MAC address of the phone. 2.the accelerometer sensor, it is used to sense motion of users. 3.microphone, it is used to detect conversation or sound around users. 4.photo capture, it is used for image upload to server. 5. GPS sensor, it is used to determine location and vehicle travel. All the sensors will do sensing then the phone software will collect sensors' data and make classification to produce primitives. The phone software will find the right separation of what processing can be performed on the phone and what makes sense to perform offline on the backend server. The simple classifiers make sense to perform in the phone reducing the amount of sensor data that must be pushed to the backend. It also implement a power aware duty cycle mode to improve battery life without a significant hit in the responsiveness of the system. And the customized tag make it more humanity. The phone software has communication between the phone and server through wireless network. It has a GUI and a thing called ClickStatus to visualization the presentation of people's presence on the phone. And can upload of primitives to backend server.
On the backend software side, it based on Apache and Tomcat servers to interface the mobile devices. Data exchange is accomplished through the Apache XMLRPC library. All messages are driven by the mobile device. This includes sensor data and occasional ping messages. MySQL is used as the database tool to maintain the sensor data and other primitives. The server has more complex and more power classifier to the split level classification architectural. Basically it has a conversation classifier to build upon the audio primitives. A social context by using multiple sensor data to identify the context of the scene. A mobility mode detector to detect if user is travelling in a vehicle or not. A location classifier to detect the location of a user and a "Am I Hot" classifier attempts to map previous user events to a stereotype.
Personal opinion:
I think the key component of this system is users. The application get the basic resource from users , manipulate it and perform it by data sharing in the social network. The sensors in the mobile phone can provide an appropriate set of data features to build accurate models. These with access to internet increasingly incorporate personal information exchange into their daily routines via technologies. Then a more richly textured user experience can be provided by integrating automatically harvested, processed and shared sensor data into the mix. It is an idea of global sharing in the digital world. Actually , nowadays the digital world represent one of the new frontiers in online entertainment and business service. People lead virtual lives in these alternative worlds using personal avatars (such as WOW). We can use the sensors embedded in commercial mobile phones to infer real world activities , which we can in turn reproduce in public virtual environments, sharing with the virtual world.
Because such kind of social network is based on mobile phone sensors , a lot of private information will be uncovered. It may accidently tell other people the specify location and time of a certain user. And these location information will be upload and store in the database , it may have the chance to be used by other people. Therefore, user's behavior , activity, time schedule, even health condition and many other information may used by other people. So , the security problem is a very important aspect in design such kind of software. And because the sensing work is assigned to different sensors, they have different type of data format, if the user only wants to share part of these data, the integrity of information will be lack of reliability, because it can be faked. And I think the virus in the internet is also a threaten to this kind of application, because the basic idea is sharing data with people. So the virus may be shared from user to user. Another issue is how to handle the delay due to the activity recognition process on the phone, the transmission of the inferred activity to the backend , the time retrieval data from the database and display on the screen. Alone with the growing user data, it is hard to search certain data in the database, so it may need an index or any other method to increase the speed of retrieval. And also a shorter time of classification for primitives and facts is needed because many of the participants believe that real time access to buddies' sensing presence should be one of the features of the system.
In a word, CenceMe does a pretty accurate job of organizing the social events associated with users. The implementation make an ideal solution for a split mobile device and backend system. But it still exist pitfalls such as the reliability of sensing data from the sensors, the privacy and secure issue, better data transport and retrieval , shorter time of classification.
Sunday, September 18, 2011
Fundamentals of Linear Systems
1. Notion of Linearity
sum of multiple simple mappings(sum of sinusoids)
It also offer great convenience and insight when a given mapping can be simply scaled from previously known mappings.
2. Definition of Linearity
The mapping is called additive if the application of this mapping to the sum of two vectors x and y is the same as the sum of the two individual mappings:

The mapping is called homogeneous if the application of this mapping to a scaled vector is the same as the scaled mapping of the original vector:

The mapping L is called linear if the mapping is both additive and homogeneous.
3. A special function - Dirac Distribution
4. 2D Dirac Distribution
5. Shift Invariance and Convolution
Shifting of operation is common in image processing when the same operator kernel is shifted over each pixel position to process the entire image.
Convolution is a special operation for linear and shift invariant systems that can be represented by impulse response of such systems.
6. Definition of Convolution Operation
Impulse Response: The impulse response is defined at the response of a system to the Dirac impulse.
We have established that any function f(x,y) can be represented by linear combination of shifted &(x,y).
Assume that the system is linear and shift invariant, the application of any input f(x,y) to the system, denoted as (f*h)(x,y), can be expressed as:
6. Properties of Convolution
sum of multiple simple mappings(sum of sinusoids)
It also offer great convenience and insight when a given mapping can be simply scaled from previously known mappings.
2. Definition of Linearity
The mapping is called additive if the application of this mapping to the sum of two vectors x and y is the same as the sum of the two individual mappings:

The mapping is called homogeneous if the application of this mapping to a scaled vector is the same as the scaled mapping of the original vector:

The mapping L is called linear if the mapping is both additive and homogeneous.
3. A special function - Dirac Distribution
4. 2D Dirac Distribution
5. Shift Invariance and Convolution
Shifting of operation is common in image processing when the same operator kernel is shifted over each pixel position to process the entire image.
Convolution is a special operation for linear and shift invariant systems that can be represented by impulse response of such systems.
6. Definition of Convolution Operation
Impulse Response: The impulse response is defined at the response of a system to the Dirac impulse.
We have established that any function f(x,y) can be represented by linear combination of shifted &(x,y).
Assume that the system is linear and shift invariant, the application of any input f(x,y) to the system, denoted as (f*h)(x,y), can be expressed as:
6. Properties of Convolution
Subscribe to:
Posts (Atom)






