Hello, here you can see my

Pineapple

Welcome to the technical side of me. On this page, you can find my all of my projects (completed and ongoing) along with research work and papers. So in this page I have divided the projects as two categories which is coding and non-coding. There is no need for explanation. The non-coding in this case comprises a research paper I had to write.


Project:

Lightweight Cryptography

Introduction

Internet of Things (IoT) has become an emerging debate in recent years in the field of research and practical implementation. This is the most recent and the most agreeable manner by which our life is moving however as the innovation advances so are its peril being assaulted by other individuals as these devices may contain some essential and crucial/sensitive data. Along these lines, we must secure them. As these devices are small and implanted they can't spend a lot of their capacity or vitality in just protection, thus a new technology was advanced called lightweight cryptography.

Conventional cryptography works well on high spectrum devices such as computers, smartphones and many more, whereas lightweight cryptography works well as lower spectrum such as RFID tags, sensors, and IoT devices. The most significant factor of lightweight cryptography is power consumption. Power consumption is mainly dependent on GE (Gate Equivalent) and CPU cycles.

In this way, it is difficult to foresee which cryptographic technique outflanks other, yet we don't profess to give a conclusive answer rather we will comprehend the design factors and metrics that these two techniques vary, because both cryptographic techniques are strong with regards to their applications.

The focus of this project report is discussing lightweight cryptography. First, we will give some outlining and then present the steps that we will follow to develop this topic. Furthermore, we will discuss various encryption methods used in lightweight cryptography, comparing the performance of lightweight cryptography and shedding some light on hashing, block, stream functions and see how it works in terms of key size, block size, S-BOX and compare it to conventional cryptographic methods. Moreover, we will then briefly discuss the main applications as well as the security aspects of lightweight cryptography in brief.

Conclusion

Over the last two decades, there have been numerous researches going on about lightweight cryptographic. There is no one optimal algorithm when it comes to choosing between conventional and lightweight cryptography, which mainly depends on the applications. ISO/IEC and NIST organizations are striving to come out with the best possible algorithm of a lightweight when it comes to hardware and software. We know that in the future there would be lots of embedded system ruling the world. Hence, the scalability of the lightweight algorithms can be exploited for better security and performance by changing the number of rounds or the architecture to support different key length. In this project report, we have discussed different methods of lightweight, advantages, and disadvantages of lightweight, security aspects, performance metrics, and applications of lightweight cryptography. This is a never-ending field of research, we can carry on this research furthermore to develop a specific lightweight algorithm that suits the best when compared to other algorithms, that must be an improvised version of the existing algorithm.

Category of Project

Non Coding - Research Paper

Teams

Me and Akash Singh

Date of completion

April 8, 2019

Paper

Download here

Professor

Habib Louafi
image


Project:

Autonomous Radio Controlled Car

Abstract

This project summarizes suggested modifications made to the existing project. The modifications made to the existing project includes inculcating sensors, actuators, tweaking the existing hardware design and finally documenting all the hardware and software implementations within the given time constraint. In this project, the old radio-controlled car will be made autonomous by adding an ultrasonic sensor to it. This ultrasonic sensor helps in avoiding obstacles in front of the car by emitting ultrasonic sound waves. This autonomous car detects the obstacle and avoids collision by changing its direction of movement. The ultrasonic sensor sends the data to the Arduino micro-controller and then the micro-controller with the help of a motor-shield controls the movements of the wheels via DC motors. Further, the ultrasonic sensor signals the DC motors what action to perform, based on that the DC motor operates by going forward, reverse, left or right. The motor-shield acts as an H-bridge by controlling the DC motors simultaneously

Introduction

The autonomous car is one of the greatest innovations of this era. There has been a large amount of research that has gone into making it convenient enough for customers to rely on. The autonomous car is a car which runs automatically by sensing the environment around it and capable of moving on its own with no one controlling it. Although this project might be a perfect example to understand the autonomous functionality and its outcome. The prime feature of this autonomous car in this project is avoiding obstacles on its way and moving on. This feature is very helpful, and it is the base for many large projects such as collision detection, parking aid system [PAS] and robotics. The main aim of this project is to develop a car that will move according to the assigned code but finds a free space, navigating from any obstacle on its way. There are many ways to implement this autonomous functionality such as by using computer vision, radars, sonars, GPS and many more but one of the best approaches is using ultrasonic sensors. The reason for choosing ultrasonic sensors is that they are low cost and has high ranging capabilities and easy to use. This autonomous car gets the information from the surrounding area through the ultrasonic sensor mounted in front of the car. This autonomous concept although is applied on a radio-controlled toy car which has a huge chassis and two DC motors attached to it. The DC motor attached at the front will make the car either to move left or right, the one on the back helps to move either forward or backward. Now this chassis must be revamped by hooking sensors to it, adding tail lights, and controlling it via Arduino Uno with motor-shield attached to it.

Images

The front view of my RC car


Pineapple

The side view of my RC car


Pineapple

There is no need to solder any wire or component. Motor-shield comprises screws which need to be tightened after connecting the wires. But we must be careful that all the pins of the motor-shield must coincide with that of the Arduino pins, else the motor-shield would be burnt or doesn’t function properly

Code Snippet

The below code is activating the brake lights. It is really simple to understand. Let me help you LOW - means to turn OFF, and HIGH is opposite. Hope this simple logic makes sense to you.


void brakeLights()
    {
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);   
      digitalWrite(led3, HIGH);  
      delay(80); 

      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      delay(80);
    }

Conclusion

The main motivation for choosing this project was, the increase in autonomous self-driven cars today in the real world, and it was a relevant area of interest to work with radio-controlled cars. Everything today is on the verge of being automated, keeping this in mind along with the existing project helped in arriving at a conclusion of building an autonomous radio-controlled car. Also, this project would be interesting to see a radio-controlled car automatically runs with no one controlling it. The proposed project when completed turns out to be a more sophisticated and easier to operate with minimum requirements and making it an autonomous fully functioning car. Likewise, the goal of this project was to make the RC car fully autonomous such that making the car to run on its own and avoiding obstacles on its way, this concept can be further implemented in real time cars if enhanced

Category of Project

Coding (Arduino) with a Research Paper

Teams

Just Me

Date of completion

April 17, 2019

Code

Download here

Paper

Download here

Professor

Trevor Michael Tomesh
image


Project:

Building A Communication Model Based On Shannon’s Model Of Communication Using Python

Abstract

Shannon’s model of communication, also called the “mother of all models,” is essential for understanding the human communication process. Models based on Shannon’s theory of communication are the most regularly used correspondence models at a specialized level and have been utilized broadly in different fields of study. Based on Shannon’s theory of communication, I developed a communication model in python and then created an encoding and decoding scheme using amplitude modulation and tested the model against a noisy channel. Also, I introduced a forward error correction scheme and compared the results with the raw encoding scheme of the model. A specific highlight of this model is the aim of designing a communication model from the base level using python. The results showed a significant improvement when compared with the previous encoding and decoding scheme. In the end, I could create a communication model using python with improved results based on Shannon’s model of communication

Introduction

Shannon’s model of communication process provides the breakdown of the flow of messages from the source to the destination which replicates day-to-day human communication process. Shannon’s model is the basis of almost every communication model created today. Communication marvels have been focal methods for significant changes on the planet.

Pineapple

I have developed a communication model with the help of Shannon’s model, to which I have added encoding and a decoding scheme. Here, encoding refers to converting a message into a signal. It converts the message into a code of a special form. This code cannot be easily readable and hence the name encoders. The sender sends the message to the encoder and then the encoder performs some encoding on that message. The encoding operation produces a signal on the channel corresponding to the message and then the signal is sent to the decoder. The decoder then decodes the signal to get the message back. The reverse operation of encoders is decoders. They convert the signal back to the original message sent by the sender. In the decoding process, the receiver (i.e. decoder) decodes the signal to get the original signal back. I based my whole encoding and decoding scheme on amplitude modulation. Amplitude modulation is a modulation technique used in communication, where transmitting a message is performed via a carrier wave. In amplitude modulation, we vary the strength of the carrier wave in proportion to that of the message signal being transmitted.

After I performed the encoding and decoding operations, I introduced noise in my channel. Here, noise is a disturbance that interferes with the transmission of information from the sender to the receiver. Noise disrupts the flow of information. Noise is a factor that reduces the chances of successful communication and often can lead to failure such as the receiver gets a garbage message at the destination. Even the best encoding and decoding schemes will sometimes fail when the message is transmitted over a noisy channel. There are many sources of noise, such as creating some random signal with random amplitudes, generating random numbers, combining all the sound of different frequencies and many more. Finally, after introducing the noise, I implemented a forward error correction (FEC) to detect and correct the error bits. Forward Error Correction is a technique used to control the errors when the sender sends the message to the receiver over a noisy channel. Forward error correction gives the sender the ability to correct the message without having to re-transmit the message.

Conclusion

This paper describes developing a communication model using python based on Shannons model of communication. Additionally, it describes an encoding and decoding scheme using amplitude modulation, then I tested the model against an uproarious channel. Also, I presented a forward error correction scheme and contrasted the outcomes. The results seem highly promising as a step towards developing a unified approach to the study of communication. At the very least, I can now detect and correct the errors up to one bit in the message. Future research should include revamping the scheme to detect and correct up to two error bits. With the help of this model you can now encode and decode a message, detect and correct single error bits using forward error correction and send the message to the receiver successfully.

Category of Project

Coding (Python) with a Research Paper

Teams

Just Me

Date of completion

August 25, 2019

Code

Download here

Paper

Download here

Professor

Trevor Michael Tomesh
image


Project:

Building A Machine Learning Model To Predict The Price Of The Car

Abstract

In the field of machine learning, predicting future car prices has become a major interest area. It analyzes a significant number of unmistakable characteristics for solid and actual predictions. The dataset used for predictions was collected from Kaggle. Different machine learning algorithms like linear regression, lasso regression, and random forest regression have been used to make predictions. Using the above machine learning regression methods, I have developed a model that describes prediction rates based on various features using python. This paper proposes a system where the price is the dependent variable which is predicted, and this price is derived from factors like a vehicle’s model, engine size, mileage, length, and width. I could determine that certain features were strongly correlated. This work aims to build and deploy a machine learning model that can predict the car price based on its features, by trying 3 different regression models and choosing the one with the highest R-square or accuracy score. In the end, one of those three algorithms gave exceptional results. The focal point of this exploration is to fabricate such a model which has the capacities of managing high predictability and gives precise outcomes independent of the size of the data set

Problem Statement

Many factors may contribute to predicting the price of the car based on the features of the car. My analysis aims to determine which features in the data set may have had the strongest statistical correlation with the price of the cars

Heat Map

Since I wanted to predict the price (MSRP) of the car given the features, I knew that I should use regression algorithms. However, in regression, there are many algorithms such as linear regression, random forest, lasso, Decision tree regression etc, to choose from. But after implementing all the algorithms, I produced a low prediction score. This was because I was predicting the price (MSRP) of the car given the horsepower of the car. The reason for this was because, with the help of heat maps as shown below in Fig 1, the correlation between horsepower and price (MSRP) is about 83%, so I used this information to predict the price wherein. Sadly, this tactic failed, as the price of the car depends not only on horsepower but also it depends on engine size, cylinders, mileage and drive train, length, width, and wheelbase

Pineapple

Code Snippet of the model


# Creating the Lasso Regression Model
reg = linear_model.Lasso(alpha=0.1)
X = df.drop('MSRP', axis=1)
y = df['MSRP']
# Splitting the model into train and test data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Fitting and predicting the trained values to the Lassor Regression Model
reg.fit(X_train, y_train)
pred = reg.predict(X_test)
    

Conclusion

Vehicle value forecast can be a difficult assignment because of the high number of qualities that ought to be considered for the precise expectation. In this paper, I have developed a model that can accurately predict the price of the car given its features. I have built up a model that portrays expectation rates dependent on different highlights using python. With the help of this model, you can accurately predict the price of the car. The goal was to predict the price of the car given the specifications of the car like horsepower, engine size, cylinders, and other factors. So, I initially processed the data and made it ready for building a model. Later, I implemented a machine learning model, and the results were amazing. First, the lasso regression gave a score of 90%. Afterward, random forest regression gave a prediction score of 89%, and last, the linear regression method produced a score of 76%. Out of these three techniques, the lasso regression method has the best prediction power, which is why I will choose lasso regression as my final model. With these techniques, I have great confidence in the abilities of my model. I also checked for different instances by giving random values to the model, but my model gave good price predictions. Keeping the present model as a pattern, I intend to use some advanced techniques like artificial intelligence and fuzzy logic to predict the prices of the car such that you can also predict not only price but also other features of the car.

Category of Project

Coding (Python) with a Research Paper

Teams

Just Me

Date of completion

August 25, 2019

Code

Download here

Paper

Download here

Professor

Trevor Michael Tomesh
image


Designed by Tanu Nanda Prabhu