You are on page 1of 12

public class transmit extends javax.swing.

JFrame {
int a=0;
String result="";

/**
* Creates new form transmit
*/
public transmit() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
input = new javax.swing.JTextArea();
jLabel5 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
jLabel6 = new javax.swing.JLabel();
noise = new javax.swing.JTextField();
jButton2 = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea2 = new javax.swing.JTextArea();
jLabel8 = new javax.swing.JLabel();
jScrollPane3 = new javax.swing.JScrollPane();
bits = new javax.swing.JTextArea();
jLabel9 = new javax.swing.JLabel();
jScrollPane4 = new javax.swing.JScrollPane();
displayr = new javax.swing.JTextArea();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
BER = new javax.swing.JTextField();
CER = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Shaikh");

jLabel1.setText("Name");

jLabel2.setText("Password");

jLabel3.setText("Status");
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});

jButton1.setText("Login");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N


jLabel4.setText("Enter Your Message: ");

input.setColumns(20);
input.setRows(5);
jScrollPane1.setViewportView(input);

jLabel5.setText("Select Modulator:");

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[]


{ "Scheme1", "Scheme2", "Scheme3" }));
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});

jLabel6.setText("Noise Level:");

jButton2.setText("Send");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel7.setText("Received Voltages:");

jTextArea2.setColumns(20);
jTextArea2.setRows(5);
jScrollPane2.setViewportView(jTextArea2);

jLabel8.setText("Received Bits:");

bits.setColumns(20);
bits.setRows(5);
jScrollPane3.setViewportView(bits);

jLabel9.setText("Received Message:");

displayr.setColumns(20);
displayr.setRows(5);
jScrollPane4.setViewportView(displayr);

jLabel10.setText("BER");
jLabel11.setText("CER");

jPasswordField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jPasswordField1ActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel11)
.addGap(18, 18, 18)
.addComponent(CER))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel10,
javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(BER, javax.swing.GroupLayout.PREFERRED_SIZE,
99, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(186, 186, 186))
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addGap(30, 30, 30)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jLabel1,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel2,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel3))
.addGap(29, 29, 29)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPasswordField1)
.addComponent(jTextField3)
.addComponent(jTextField1))
.addGap(60, 60, 60)
.addComponent(jButton1))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addGap(20, 20, 20)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel6,
javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(noise,
javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(102, 102, 102)
.addComponent(jButton2))
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 360,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createSequentialGroup()
.addGap(34, 34, 34)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jLabel9)
.addComponent(jLabel7,
javax.swing.GroupLayout.PREFERRED_SIZE, 156,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8,
javax.swing.GroupLayout.PREFERRED_SIZE, 127,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.DEFAULT_SIZE, 466, Short.MAX_VALUE)
.addComponent(jScrollPane4)))
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(jLabel4,
javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(62, 62, 62)
.addComponent(jScrollPane3,
javax.swing.GroupLayout.PREFERRED_SIZE, 416,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(117, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE,
25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jButton1)
.addComponent(jPasswordField1,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jTextField3,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(35, 35, 35)
.addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jComboBox1,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(noise, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2))
.addGap(18, 18, 18)
.addComponent(jLabel7)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE,
84, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(jLabel8)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE,
81, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CER,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11))
.addGap(4, 4, 4)
.addComponent(jLabel9))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel10)
.addComponent(BER, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


}

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


String s1=jTextField1.getText();
String s2=jPasswordField1.getText();
if ("diksha".equals(s1) && "totah".equals(s2)){
String s3="Correct";
jTextField3.setText(s3);
a=1;
}
else{
String s3="Incorrect";
jTextField3.setText(s3);
JOptionPane.showMessageDialog(null,"Access Denied");

}
}

private void jPasswordField1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


if(a==0){
JOptionPane.showMessageDialog(null,"Access Denied");
}
if(a==1){
String s4=input.getText();
s4=s4.replaceAll(" ","[");

char[] Binary = s4.toCharArray();

for (int i = 0; i < Binary.length; i++) {

result += Integer.toBinaryString(Binary[i]);

int[] Bits=new int[result.length()];//scheme 1111


for(int j=0;j<result.length();j++){
String xaa=result.substring(j, j+1);
Bits[j]=Integer.parseInt(xaa);
}

//BEr
int[] Bitser=new int[result.length()];//scheme 1111
for(int j=0;j<result.length();j++){
String xaa=result.substring(j, j+1);
Bitser[j]=Integer.parseInt(xaa);
}

String no;
int[] Nc=new int[result.length()]; // Noise added
no=noise.getText();
if(jComboBox1.getSelectedIndex()==0){

for(int con=0;con<result.length();con++){
if (Bits[con]==1){
Bits[con]=2;
}
else {Bits[con]=-2;}

if ("0".equals(no)){
System.arraycopy(Bits, 0, Nc, 0, result.length());

}
if ("1".equals(no)){
for (int c=0;c<result.length();c++){
int e=(int) ((Math.random()*5)-2);
Nc[c]=Bits[c]+e;

//continue here
for (int x=0;x<result.length();x++){
if (Nc[x]>=0){
Nc[x]=2;
}
else{
Nc[x]=-2;

}
//demodulate

}
}

//demodulator/converter
String dis ="";
for (int dep=0;dep<result.length();dep++){
if(Nc[dep]==2){
Nc[dep]=1;
}
else {
Nc[dep]=0;
}
dis+=Nc[dep];

}
bits.setText(String.valueOf(dis));
jTextArea2.setText(Arrays.toString(Bits));
}
if(jComboBox1.getSelectedIndex()==1){

for(int con=0;con<result.length();con++){
if (Bits[con]==1){
Bits[con]=2;
}
else {Bits[con]=-2;}

if ("0".equals(no)){
System.arraycopy(Bits, 0, Nc, 0, result.length());

}
if ("1".equals(no)){
for (int c=0;c<result.length();c++){
int e=(int) ((Math.random()*5)-2);
Nc[c]=Bits[c]+e;

//continue here
for (int x=0;x<result.length();x++){
if (Nc[x]>=0){
Nc[x]=2;
}
else{
Nc[x]=-2;
}
//demodulate

}
}
//demodulator/converter
String dis1 ="";
for (int dep=0;dep<result.length();dep++){
if(Nc[dep]==2){
Nc[dep]=1;
}
else {
Nc[dep]=0;
}
dis1+=Nc[dep];

}
/// pu 2eme;
bits.setText(String.valueOf(dis1));
int e=0;// ena bits ladn
int[]lol =new int[dis1.length()];
int leng;
leng=(result.length()%2)==0? result.length()/2 : ((result.length()/2)-1);

int[] show=new int[leng];


String sxaa;
for(int df=0;df<dis1.length();df++){
sxaa = dis1.substring(df, df+1);
lol[df]=Integer.parseInt(sxaa);
}

for(int dd=0;dd<dis1.length();dd++){

if(lol[dd]==1&&lol[dd+1]==1){
show[e]=4;
}
if(lol[dd]==1&&lol[dd+1]==0){
show[e]=2;
}
if(lol[dd]==0&&lol[dd+1]==1){
show[e]=-2;
}
if(lol[dd]==0&&lol[dd+1]==0){
show[e]=-4;
}

dd++;
e=e+1;
if (e>=leng){
break;
}
}

jTextArea2.setText(Arrays.toString(show));
}
if(jComboBox1.getSelectedIndex()==2){
for(int con=0;con<result.length();con++){
if (Bits[con]==1){
Bits[con]=2;
}
else {Bits[con]=-2;}

if ("0".equals(no)){
System.arraycopy(Bits, 0, Nc, 0, result.length());

}
if ("1".equals(no)){
for (int c=0;c<result.length();c++){
int e=(int) ((Math.random()*5)-2);
Nc[c]=Bits[c]+e;

//continue here
for (int x=0;x<result.length();x++){
if (Nc[x]>=0){
Nc[x]=2;
}
else{
Nc[x]=-2;

}
//demodulate

}
}
//demodulator/converter
String dis1 ="";
for (int dep=0;dep<result.length();dep++){
if(Nc[dep]==2){
Nc[dep]=1;
}
else {
Nc[dep]=0;
}
dis1+=Nc[dep];

}
/// pu 2eme;
bits.setText(String.valueOf(dis1));
int e=0;// ena bits ladn
int[]lol =new int[dis1.length()];
int leng;
leng=(result.length()%3)==0? result.length()/3 : ((result.length()/3));

int[] show=new int[leng];


String sxaa;
for(int df=0;df<dis1.length();df++){
sxaa = dis1.substring(df, df+1);
lol[df]=Integer.parseInt(sxaa);
}

for(int dd=0;dd<dis1.length();dd++){

if(lol[dd]==1&&lol[dd+1]==1&&lol[dd+2]==1){
show[e]=8;
}
if(lol[dd]==1&&lol[dd+1]==1&&lol[dd+2]==0){
show[e]=6;
}
if(lol[dd]==1&&lol[dd+1]==0&&lol[dd+2]==1){
show[e]=4;
}
if(lol[dd]==1&&lol[dd+1]==0&&lol[dd+2]==0){
show[e]=2;
}
if(lol[dd]==0&&lol[dd+1]==1&&lol[dd+2]==1){
show[e]=-2;
}
if(lol[dd]==0&&lol[dd+1]==1&&lol[dd+2]==0){
show[e]=04;
}
if(lol[dd]==0&&lol[dd+1]==0&&lol[dd+2]==1){
show[e]=-6;
}
if(lol[dd]==0&&lol[dd+1]==0&&lol[dd+2]==0){
show[e]=-8;
}
dd=dd+2;
e=e+1;
if (e>=leng){
break;
}
}

jTextArea2.setText(Arrays.toString(show));
}

int fin = 0;
int d=0;

int ja=1;
char[] message=new char[s4.length()];
for (int s=0;s<result.length()/7;s++){

for (int dep=d;dep<d+7;dep++){

fin+=((Nc[dep])*(Math.pow(2,d+7-ja)));
ja++;
}
message [s]=(char)fin;
if (message[s]=='['){
message[s]=' ';
}

displayr.setText(String.valueOf(message));

d=d+7;
fin=0;
}
String uu=String.valueOf(message);

float count=0;

for (int comp=0;comp<s4.length();comp++){


if(s4.charAt(comp)!= uu.charAt(comp)){
count=count+1;
}
}

float answer=count/(float)s4.length();
if ("0".equals(no)){

answer=0;
}
CER.setText(String.valueOf(answer));
// BER

float counts=0;

for (int comp1=0;comp1<result.length();comp1++){


if(Bitser[comp1]!= Nc[(comp1)]){
counts=counts+1;
}
}
float answer2=counts/result.length();
BER.setText(String.valueOf(answer2));

}
}

You might also like