69,336
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define np 8
#define hang M
#define li 8
const int bit=2;
const int M=12;//行数
const int N=56;//列数
const float s=1.414;
typedef struct
{
float real[1][M*N];
float image[1][M*N];
}complex ;
void main()
{
int c[1][M*N*bit];
float a[1][M*N];
//float X1.real[m][n];
//float X1.image[m][n]
int g[hang][N];
float h[hang][N],q[hang][N];
//float X1;
complex X1;
srand( time(0) ); //初始种子
//cha ru
printf("生成1行1344列的随机序列c :\n");
int m=0;
for(int n=0;n<M*N*bit;n++)
{
//if(j%9==0)
//c[i][j]=1;
//else
c[m][n]=(rand() % 2);
}
//for( n=0;n<M*N*bit;n++)
// {
//printf("%d ",c[m][n]);
//}
// printf("\n");
//printf("\n");
//QPSK调制
for( n=0;n<M*N*bit;n++)
{
a[m][n]=(float)(c[m][n]*2-1)/s;
}
for( n=0;n<M*N*bit;n++)
{
printf("%3.3f ",a[m][n]);
}
printf("\n");
for( n=0;n<M*N*bit;)
{
X1.real[m][n]=a[m][n];
n=n+2;
}
for( n=0;n<M*N*bit;)
{
printf("%3.3f ",X1.real[m][n]);
n=n+2;
}
printf("\n");
for( n=1;n<M*N*bit;)
{
X1.image[m][n]=a[m][n];
n=n+2;
}
for( n=1;n<M*N*bit;)
{
printf("%3.3f ",X1.image[m][n]);
n=n+2;
}
printf("\n");//生成虚部
for( n=0;n<M*N;n++)
{if(X1.image[m][n]>0)
printf("X1=%8.3f+%8.3fi\n",X1.real[m][n],X1.image[m][n]);
printf("\n");
if(X1.image[m][n]<0)
printf("X1=%8.3f%8.3fi\n",X1.real[m][n],X1.image[m][n]);
printf("\n");
}
/*for( n=0;n<M*N;n++)
{
printf("%3.3f ",X[m][n]);
}*/
printf("\n");
}